home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / gfx / edit / WF_Base.lha / WF-Base / Wildfire / Doc / Wildfire.guide (.txt) next >
Amigaguide Document  |  1997-03-20  |  218KB  |  4,662 lines

  1. @database Wildfire
  2. @$VER: Wildfire.guide V2.96
  3. @node Main "Wildfire Documentation"
  4. #################################################################
  5. #                                                               #
  6. #        Wildfire - an Animation-System for the Amiga           #
  7. #                                                               #
  8. #            Copyright 
  9.  1995-1997 WK-Artworks                  #
  10. #                  All rights reserved                          #
  11. #            Unauthorized Duplication Prohibited                #
  12. #---------------------------------------------------------------#
  13. #                                                               #
  14. #                        Documentation                          #
  15. #                                                               #
  16. #################################################################
  17.     @{"  1. Introduction          " link introduction   }   @{" 11. Known Bugs            " link Bugs           }
  18.     @{"  2. System Requirements   " link requirements   }   @{" 12. Authors               " link Authors        }
  19.     @{"  3. Installation          " link installation   }   @{" 13. Copyright             " link Copyright      }
  20.     @{"  4. Usage                 " link Usage          }
  21.     @{"  5. Technical information " link Technical      }   @{" 14. Developer-Information " link Developer      }
  22.     @{"  6. Main Documentation    " link MainWindow     }   @{" 15. FAQ                   " link FAQ            }
  23.     @{"  7. Available Effects     " link OperatorsWindow}
  24.     @{"  8. PowerPlugs!           " link PowerPlugs!    }   @{" 16. Shareware             " link Shareware      }
  25.     @{"  9. The YAFA Player       " link yp.guide/MAIN  }   @{" 17. Tutorials             " link Tutorials      }
  26.     @{" 10. ARexx                 " link ARexx          }   @{" 18. Wildfire Demos        " link Demos          }
  27. Documentation-Authors : Andreas K
  28. ssner, Andreas Maschke
  29. Last Changes          : Thursday 20-Mar-97
  30. Version               : 2.96
  31. @endnode
  32. @remark TODO:
  33. @remark  -Tutorials
  34. @remark  -Developer-kit
  35. @node Introduction
  36. ---------------------------------------------------------------------
  37.            Wildfire - where dreams become virtuality
  38.             A Special Effect Program and many more
  39. ---------------------------------------------------------------------
  40. @{ub}
  41. Wildfire is not only another brandnew image-processing-program -
  42. it's a professional animation-processor with some really new concepts.
  43. It allows you for example the creation and processing of animations in
  44. several formats, the generation of time-dependant special-effects
  45. and the design of large projects containing several animations and
  46. frame-synchronized sound-effects.
  47. Because the common animation-formats on the Amiga have too many
  48. lacks or restrictions we have tried to create a better one: YAFA.
  49. This animation-format for example features many compression-methods
  50. and realtime-zooming.
  51. One of the outstanding features of Wildfire is the fact that it
  52. makes for you no difference if you apply changes to a whole animation
  53. or if you process only one image. A single image is only a
  54. very special case of an animation.
  55. In contrary to common image-processors you can use envelopes instead
  56. of plain numbers as effect-parameters. This makes the easy creation
  57. of time-dependant special-effects possible.
  58. So you haven't to fight against the "do"-loops in an ARexx-script to
  59. get an animation outside your image-processor anymore.
  60. All of the numerous effects can be arranged in any number and
  61. combination. Because the output of any of these effects can be
  62. one of the 8 tempory-buffers Wildfire allows you to
  63. PROGRAM IMAGES in an comfortable way !
  64. Main Features:
  65.   -fast and comfortable Converter:
  66.     input:  YAFA, ANIM5/7/8, mpeg, image-sequences
  67.     output: YAFA, ANIM5/7/8, image-sequences
  68.   -Preview for almost any operation
  69.   -Project-Editor which allows the creation of large and complicated
  70.    projects easily using the mouse
  71.   -Effect-Generator featuring time-dependant parameters via envelopes
  72.   -a stunning library of effect-PlugIns
  73.   -some really new effects, real 3D-effects, lightsources
  74.   -superposition of 3D-effects (PowerPlugs!)
  75.   -(un)loading of PlugIns at any time
  76.   -Envelope-Editor
  77.   -Timecodes-Editor
  78.   -Transition-Maker for easy creation of transitions between two animations
  79.   -easy-to-use Player-interface
  80.   -Filmstrips to simplify the perfect timimg of huge projects
  81.   -AnimInfo-function displaying size-profiles etc.
  82.   -fontsensitive GUI without MUI
  83.   -internal gadget-toolbox which handles mathematical expressions
  84.    instead of only plain numbers
  85.   -calculator which allows for example the export of user-defined symbols
  86.    to the gadgets in the whole-program
  87.   -Drag&Go
  88.    (using drag.gadget 0.2  Copyright 
  89.  1996 J
  90. rg Kollmann, see bonus drawer!)
  91.   -ARexx-port with about 400 commands
  92.   -macros, custom-windows, docks
  93.   -import of images from other programs
  94.   -Developer-Kit (with working example) which allows you to create
  95.    your own effect-PlugIns
  96.   -and many more
  97. @endnode
  98. @node Requirements
  99.   @{b}Requirements@{ub}
  100.   @{u}Hardware@{uu}
  101.     -Processor:    68020
  102.     -Graphics :    AGA or gfx-board (The program may work with ECS
  103.                    but this is not recommended)
  104.     -Memory   :    FastRAM is strongly recommended but actually
  105.                    not required
  106.      Most of the effects (even transitions between two animations!) run
  107.      on an standard 2 MB A1200!
  108.   @{u}Software@{uu}
  109.     -operation system V39 (3.0)
  110.     -XPK compression system (xpkFAST recommended)
  111.   The program was successfully  tested  on A1200 (030, 060) and
  112.   A4000 (030, 040) with several disk and memory configurations.
  113. @endnode
  114. @node Installation
  115.   @{b}Installation@{ub}
  116.   Normally the installation is done by executing the supplied
  117.   installer-script. If this doesn't work (sometimes the
  118.   installer-program hangs up on my system) the installation can
  119.   be done by hand easily.
  120.   Just move all files extracted from the "Wildfire-Main"-archieve into
  121.   one drawer, e.g. into a drawer called "Wildfire". After that locate the
  122.   file "Wildfire.config" and move into "envarc:". That's it.
  123.   @{b}File-Hierarchy@{ub}
  124.     Wildfire
  125.     +---system               -private files
  126.     |   +---plugIns            *PlugIns-rootdrawer
  127.     |   |   +---operators        operators for the processor
  128.     |   |   +---general          general PlugIns
  129.     |   |   +---system           preferences for all types of PlugIns
  130.     |   |   \---savers           savers and loaders
  131.     |   +---images             *icons for the icon-manager
  132.     |   +---filmstrips         *filmstrips for the Transition-Maker
  133.     |   \---help               *some text-files
  134.     +---alpha                -alpha-images
  135.     +---trash                -temporary files
  136.     +---expressions          -expressions and symbols for the calculator
  137.     +---profiles             -size-profiles of animations
  138.     +---YAFAOptions          -YAFA-Compressor-settings
  139.     +---annotations          -annotations and text-files
  140.     +---convolutions         -matrix-settings for the Convolve-PlugIn
  141.     +---doc                  -documentation and online-help-files
  142.     +---envelopes            -envelopes for the Processor
  143.     +---filmstrips           -Filmstrips
  144.     +---images               -Images
  145.     +---macros               -ARexx-Macros
  146.     +---processes            -Processor-scripts
  147.     +---projects             -Video-projects
  148.     +---sessions             -Converter-sessions
  149.     +---variables            -Variables for the Processor
  150.     \---windows              -Custom-windows
  151. @endnode
  152. @node Bugs
  153.   @{b}Known bugs@{ub}
  154.    -Sometimes the program may crash if you run out of memory
  155.    -3D-operators: Sometimes the program hangs up if the camZ-value
  156.                   is smaller than the image-dimension. Such small
  157.                   values cause impressive views at some rotation-
  158.                   angles so no range-checking is done.
  159. @endnode
  160. @node Authors
  161.   @{b}Wildfire, Parts of the YAFA-concept, Animations@{ub}
  162.   Andreas Maschke  (WK-Artworks)
  163.   Zenkerstra
  164.   06108 Halle/Saale
  165.   Germany
  166.   EMail: epgbc@cluster1.urz.Uni-Halle.DE
  167.   @{b}Player, YAFA-concept, Ideas@{ub}
  168.   Michael Henke  (Smack/Infect)
  169.   Praetoriusstr. 1/205
  170.   06124 Halle/Saale
  171.   Germany
  172.   EMail: epgbd@cluster1.urz.Uni-Halle.DE
  173.   @{b}Ideas, Documentation, Moral Support, Beta-Testing:@{ub}
  174.   Andreas K
  175. ssner
  176.   Bernard Krone Str. 15
  177.   48480 Spelle
  178.   Germany
  179.   Tel.: ++49(0)5977/939249
  180. @endnode
  181. @node Copyright
  182. @{b}Copyright@{ub}
  183. The program WF is Copyright (c) 1996-97 WK-Artworks (Andreas Maschke).
  184. All rights reserved.
  185. Commercial use is prohibited, if you want to use it for commercial purposes
  186. you have to get an explicit permission from the @{"author" link Authors} first.
  187. Wildfire is released as @{" Shareware " link shareware}. There are two different versions:
  188. @{u}Unregistered Demo-Version:@{uu}
  189. It is allowed to charge a fee to recover distribution costs, but no profit
  190. may be made by selling or otherwise distributing the program.  It is not
  191. allowed to distribute only parts of the package or a modified program.
  192. @{u}Regisered Version:@{uu}
  193. The unregistered version is turned into a registered one if you use
  194. a personalized key file that registered users receive from me.
  195. It's strictly forbidden to give the registered key file
  196. to other users ! Giving the key file to other users, using key files that
  197. you did not receive directly from me for your personal use is
  198. considered as an act of software piracy !
  199. It is not allowed to disassemble or otherwise reverse engineer
  200. any part of one of the Wildfire-related programs.
  201. @{b}Disclaimer@{ub}
  202. No guarantee is given nor implied that this program is fit for any use.
  203. The program and the information within this text are provided on "AS-IS"
  204. basis. The entire risk as to its quality and performance is with the user.
  205. In no event will the author be liable for direct, indirect, incidental or
  206. consequential damages resulting from any defect in the program. The author
  207. reserves the right to make changes to the program or the documentation
  208. without notice.
  209. @endnode
  210. @node shareware
  211. @{b}Shareware@{ub}
  212. Because the demoversion has all features of the full version you can test
  213. everything before you decide to buy the program.
  214. The only restriction of the demoversion is the fact that all
  215. dynamically alloceated memory will be stored until you quit the
  216. program.
  217. This way gives you the possibibily to test all program-features before
  218. registering.
  219. The price for the full version of WildFire is 50,00 DM or 40,00 US-$. Just
  220. compare WildFire to other programs yourself and you will know what to do ...
  221. The price for @{" PowerPlugs!" link PowerPlugs!} is the same.
  222. If you already got registered for Wildfire and want to obtain PowerPlugs!
  223. separately you have to specify your serial-number which may be obtained
  224. from the @{" Info-Window " link InfoWindow} of the program.
  225. There are two possibilities to buy Wildfire and/or PowerPlugs!.
  226. @{b}1.@{ub} Send the money in a letter to:
  227.      Andreas K
  228. ssner
  229.      Bernard Krone Str. 15
  230.      48480 Spelle
  231.      Germany
  232. Please write down your full NAME and ADDRESS and the COMPUTERTYPE you use.
  233. You`ll get the latest WildFire Version and your personal wildfire.library.
  234. Please write down where you got the Demo-Version from.
  235. @{b}2.@{ub} Send a letter to:
  236.      Andreas K
  237. ssner
  238.      Bernard Krone Str. 15
  239.      48480 Spelle
  240.      Germany
  241. Please write down your full NAME and ADDRESS and COMPUTERTYPE you use.
  242. You`ll get the latest WildFire Version and your personal wildfire.library.
  243. Please write down where you got the Demo-Version from.
  244. Transfer the money to the following account:
  245.      Bank  : HYPO-BANK Halle/Saale
  246.      BLZ   : 8602 0880
  247.      KTO   : 5100 1479 14
  248.      Owner : Andreas Maschke
  249. Please write as usage:
  250.      <Your Name + City>
  251.      Wildfire Registration
  252. Send your transfer-receipt inside the letter to A. K
  253. ssner.
  254. -------------------------- cut --------------------------
  255.                        WildFire registration
  256. Name:          ____________________________
  257. Street:        ____________________________
  258. City:          ____________________________
  259. Country:       ____________________________
  260. Ser:           ____________________________
  261. Computertype:  Amiga _________
  262. OS-Version:    _______________
  263. Processor:     68___ ___ MHZ
  264. Coprocessor:   _____ ___ MHZ
  265. Memory:        ____ MB Fast  ____ MB Chip
  266. HD-Space:      ____ MB
  267. Zip/Syquest:   ____ which type? _____________________
  268. CD-ROM:        ____ x speed
  269. Where did you got the demo version from? _______________________
  270. Which is your current version?           _______________________
  271. Wildfire registration fee:
  272. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  273. PowerPlugs! registration fee:
  274. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  275. Money transferred to                                       ____ (yes/no)
  276. Bank:     HYPO-BANK Halle/Saale
  277. BLZ:      8602 0880
  278. KTO:      5100 1479 14
  279. Owner:    Andreas Maschke
  280. please write as usage:
  281. <Your Name + City>
  282. Wildfire Registration
  283. Send your transfer-receipt inside the letter to A. K
  284. ssner!
  285. -------------------------- cut ------------------------------------
  286. @endnode
  287. @node Usage
  288. @{b}Usage@{ub}
  289. The program can be directly started from the Workbench or
  290. by typing "wf [options]" in a shell-window.
  291. Most operations can be done both using the mouse and the keybord.
  292. There are no menus because the AGA-hardware is too slow to
  293. render pulldown-menus on a screen with 32 or more colors.
  294. But 16...64 colors are recommended using the preview-function
  295. which is one of the major features of the program.
  296. The other reason is the fact that Wildfire has too many functions
  297. to put them into menus without a very complex hierarchy.
  298. @{b}Options@{ub}
  299.  -h     : exit the program after displaying some informations
  300.  -debug : turn on debug-output
  301. @endnode
  302. @remark /*************************************************************/
  303. @remark /*
  304. @remark                                 Main
  305. @remark */
  306. @remark /*************************************************************/
  307. @node MainWindow
  308. @{b}The Main-Window@{ub}
  309. After initialization Wildfire opens it's Main-Window on a screen of
  310. your choice.
  311. All major program parts like the Processor or the Preferences-Editor
  312. can be reached from within this Window.
  313. Because Wildfire has a lot of functions and windows there is a
  314. window-hierarchy. E.g., after closing the Converter-Window all
  315. subwindows like the PictureList-Window or the YAFAAnimOptions-Window
  316. are closed automatically.
  317. Because the Main-Window is on top of the hierarchy you can quit
  318. the program by closing it.
  319. Another function of the Main-Window is to act as an icon-manager
  320. like Workbench. For almost all files affected by the program like
  321. animations, envelopes, images, ... an icon is created automatically
  322. and placed on the Icon Area.
  323. After moving such an icon into another window a filetype-specific
  324. operation is performed.
  325. @{b}Functions:@{ub}
  326.                                                     @{" Converter   " link ConverterWindow}
  327.                                                     @{" Projects    " link ProjectsWindow}
  328.                                                     @{" Processor   " link ProcessorWindow}
  329.                                                     @{" Player      " link PlayerWindow}
  330.                                                     @{" TMaker      " link TMakerWindow}
  331.                                                     @{" Preferences " link PreferencesWindow}
  332.                                                     @{" PlugIns     " link PlugInsWindow}
  333.                     @{" Icon Area " link IconArea}
  334.                                                     @{" Icons       " link IconsWindow}
  335.                                                     @{" DWA         " link DWAWindow}
  336.                                                     @{" Log         " link LogWindow}
  337.                                                     @{" Info        " link InfoWindow}
  338.                                                     @{" Quit        " QUIT}
  339. @{"   Add   " link IconFunctions} @{" Cleanup " link IconFunctions} @{"  Reset  " link IconFunctions} @{"  Load   " link IconFunctions} @{"  Save   " link IconFunctions}
  340. @endnode
  341. @node IconArea
  342. @{b}Icon Area@{ub}
  343. The Icon Area of the Main Window acts as a desktop. You can place,
  344. move or put files on it.
  345. There are four special icons which are initialized at startup
  346. automatically. If you drop a file-icon over one of these icons a
  347. filetype-specific operation is performed.
  348. Trashcan:  To delete icons and files. The default is to delete the
  349.            icons only. This behaviour can be changed from within
  350.            the @{"Icons-Window" link IconsWindow}.
  351. Player:    To play animations.
  352. Viewer:    To display images.
  353. Editor:    To edit or view textfiles.
  354. The external programs envoked can be specified from within
  355. the  @{" Preferences-Window" link PreferencesWindow}.
  356. On the bottom of the Main-Window there some addional functions which
  357. deal with icons:
  358. @{" Add " link IconFunctions} @{" Cleanup " link IconFunctions} @{" Reset " IconFunctions} @{" Load " link IconFunctions} @{" Save " link IconFunctions}
  359. @endnode
  360. @node IconFunctions
  361. @{b}Add@{ub}
  362. Using this function you can put one or more external files on the
  363. desktop.
  364. For example you could select 20 images to drop them sequentially
  365. over the Viewer-icon and delete the ugly ones.
  366. @{b}Cleanup@{ub}
  367. After pressing this button the Icon Area is cleanup up.
  368. @{b}Reset@{ub}
  369. This function removes all file-icons from the desktop and
  370. puts the four special icons on it.
  371. @{b}Load@{ub}
  372. The Load-function restores a previous saved desktop.
  373. To make this operation as simple as possible a default
  374. filename is used. This filename can be changed from
  375. within the @{" Icons-Window " link IconsWindow}.
  376. @{b}Save@{ub}
  377. This saves the contents of the whole desktop as the file
  378. specified in the @{" Icons-Window " link IconsWindow}.
  379. @endnode
  380. @remark /*************************************************************/
  381. @remark /*
  382. @remark                            Converter
  383. @remark */
  384. @remark /*************************************************************/
  385. @node ConverterWindow
  386. @{b}Introduction@{ub}
  387. The Converter is the program part which has to do the most
  388. hard jobs.
  389. It reads in a stream of data, performs some or many special
  390. effects on it and writes the results to harddisk.
  391. Unlike to common programs there is only a small difference
  392. for the user to perform easy or very complex operations.
  393. Example:
  394. 1. You want to convert a mpeg-animation into an IFF-Animation.
  395.    This is easy. Selected the input- and the output-file, adjust
  396.    the compression-parameters and press the "Convert"-button.
  397. 2. You want to scale down the input frames because you
  398.    have not enough diskspace.
  399.    This is easy. Just enable the Processor, open the Processor-Window
  400.    and add a "Halve"-effect. That's all.
  401. 3. You want to convert only some of the images, e.g. frames 31...54.
  402.    This is easy. Just open the CRange-window and enter these numbers.
  403. 4. You want to have a small animation in front of a large background.
  404.    This is easy. Enable the processor and use a "LoadImage"- and
  405.    a "Compose"-effect. That's all again.
  406. I could write thousand of such examples here - all of them where
  407. easy to realize.
  408. @{b}Converter-Window@{ub}
  409. @{u}Input@{uu}
  410. Type               Select the type of input: "Animation", "SinglePictures"
  411.                    or "BlackFrames"
  412. Info               Display some type-dependant information about the
  413.                    input-animation
  414. Related Options    Open one of the optionswindows @{"PictureList" link PictureListWindow}
  415.                    or @{"BlackFrames" link BlackFramesWindow} depending on the type of input
  416. @{u}Output@{uu}
  417. Type               Select the type of output: "YAFA", "ANIM", "SinglePictures"
  418.                    or "NIL:"
  419. Info               Display some type-dependant information about the
  420.                    generated output-animation
  421. Related Options    Open one of the optionswindows @{"YAFAOptions" link YAFAOptionsWindow},
  422.                    @{"IFFOptions" link IFFOptionsWindow} or @{"SinglePictures" link SinglePicturesWindow}
  423. @{u}Options@{uu}
  424. Annotation         Optional annotation string or file to include in a YAFA-animation
  425. Range              Open the @{"CRange-Window" link CRangeWindow} to specify the
  426.                    range of the input-stream to be processed
  427. Preview            Select the preview-type (none/window/screen)
  428. Processor          Enable the Processor to modify the input-stream
  429. @{u}Operation@{uu}
  430. Save Session       Save all options including the current window-settings
  431.                    and the Processor-settings as the specified session-file
  432. Load Session       Restore a previously saved session
  433. Convert            Start the converter
  434. All combinations of input- and output-streams are possible. A special
  435. case is input=output=SinglePictures. This feature is not obsolete,
  436. it allows you to create a sequence with numbered filenames from
  437. pictures having different locations.
  438. If you specify "NIL:" as output-stream no frames are written. This feature
  439. is especially usefull for testing complicated Processor-scripts.
  440. The Converter can be aborted at any time - in the most cased the
  441. cancelled output-stream will be usable.
  442. @endnode
  443. @node CRangeWindow
  444. @{b}CRange-Window@{ub}
  445. From within this window the range of the processed input-stream is
  446. specified.
  447. @{b}Functions@{ub}
  448. State         Enable/disable the current range-settings
  449. From          First frame
  450. To            Last frame, if a negative value is specified the number
  451.               of input-frames is decremented by this value
  452. Step          Range-step, usefull for example to skip every 2nd frame
  453. Remove loop   A preset to skip the looping frames of an IFF-animation
  454. If the range is disabled the whole input-stream is processed.
  455. @endnode
  456. @node IFFOptionsWindow
  457. @{b}IFFOptions-Window@{ub}
  458. This window let you select various settings for IFF-animations
  459. to be generated.
  460. @{b}Functions:@{ub}
  461. Related Options:
  462. Type        Compression type
  463. Colormap    Dynamic or static colormap
  464. Screenmode  Screenmode used while playing the animation
  465. @endnode
  466. @node SinglePicturesWindow
  467. @{b}SinglePictures-Window@{ub}
  468. Using this window you can set up some options which
  469. affect the generation of single pictures.
  470. @{b}Functions:@{ub}
  471. Basename       base-filename for the generated files, the frame-number
  472.                will be appended in the format ".%04d",
  473.                e.g. "ram:pic" -> "ram:pic.0001", "ram:pic.0002"...
  474. Shift Frames   Value to add to the frame-number before generating
  475.                the filename
  476. Screenmode     Screenmode used while displaying the frames
  477. Type           Toggles rendering on or off.
  478. @endnode
  479. @node YAFAOptionsWindow
  480. @{b}YAFAOptionsWindow@{ub}
  481. This window lets you adjust the various settings for YAFA-animations
  482. to be generated.
  483. @{b}Functions:@{ub}
  484. Image data        Internal representation of the image-data
  485. Colormap          Dynamic or static colormap
  486. Force Timecodes   Force the creation of timecodes even they are all equal
  487. Speed             Speed-preset for the Player (fps=50/speed on Pal)
  488. Post Compression  Turn on xpk-post-compression
  489. Compressor        Select xpk-compressor
  490. Mode              Select xpk-compression-mode, see xpk references for
  491.                   more details
  492. Delta Compression Choose the type of delta compression
  493. UC-Frames         Choose the number uncompressed delta-frames
  494. UC-Mode           Choose the type of uncompressed delta-frames
  495. Analysis          open the @{"Analysis-Window" link AnalysisWindow} to check out
  496.                   some predefined combinations of settings.
  497. Import            Extract the settings from an external YAFA-animation
  498. Load              Load a previous saved settings-file
  499. Save              Save all YAFA-settings into a settings-file
  500. @endnode
  501. @node AnalysisWindow
  502. @{b}Analysis-Window@{ub}
  503. The functions of this window are useful if you have no idea about the
  504. meaning of the various parameters. It creates some animations using
  505. some predefined settings and displays the resulting size-profiles.
  506. After that the settings of the smallest generated animation is selected
  507. and can be applied to the YAFAOptions-Window.
  508. @{b}Functions:@{ub}
  509. Frames        Number of frames generated for every test
  510. Run test      Start the test
  511. Results       Displays some informations like the output-size
  512.               and the used settings for every generated animation
  513. Size Profile  Displays a size-profile for every generated animation, the
  514.               one of the selected animation is highlighted
  515. Use           Apply the settings of the selected animation to the
  516.               YAFAOptions-Window
  517. @endnode
  518. @node PictureListWindow
  519. @{b}PictureList-Window@{ub}
  520. The picturelist has many features to create and manipulate a
  521. list of pictures to be converted.
  522. @{b}Functions:@{ub}
  523. Add          Add one or more pictures
  524. Add Reverse  Add one or more pictures in reverse order
  525. Add Dir      Add a whole directory
  526. Sort         Sort the complete list
  527. Check        Remove non-ILBM files and pictures that don't fit the
  528.              first entry's dimensions (width, height, depth) from list,
  529.              this functions makes only sense if the Processor is 
  530.              turned off
  531. Remove       Remove selected item from list
  532. Remove Range Remove all items inside the selected range from the list
  533. Set Timecode Set the timecode for selected item
  534. Time Range   Set timecodes for all items inside the specified range
  535. Show         Display the selected picture
  536. Picture Info Display some informations about the selected item
  537. From         First item of the range
  538. To           Last item of the range
  539. Step         Step of the range, e.g., a value of 2 skips every 2nd frame
  540. @endnode
  541. @node BlackFramesWindow
  542. @{b}BlackFrames-Window@{ub}
  543. The BlackFrames-Window is usefull if you want to render an animation
  544. using only Wildfire. An example would be a rotating cube with some
  545. pictures mapped on it.
  546. @{b}Functions@{ub}
  547. Frames     Number of the frames to be generated
  548. Width      Width of the frames
  549. Height     Height of the frames
  550. The BlackFrames-stream is some kind of a simulation of a real
  551. picturelist or input-animation. The most important field is the number
  552. of frames. If the Processor-script doesn't use the generated input
  553. its recommended to make the size-values very small, e.g. 32x20.
  554. @endnode
  555. @remark /*************************************************************/
  556. @remark /*
  557. @remark                            Projects
  558. @remark */
  559. @remark /*************************************************************/
  560. @node ProjectsWindow
  561. @{b}Projects-Window@{ub}
  562. The animation-projects created with this editor are arrangements of
  563. YAFA-animations and music modules, samples and executables.
  564. Projects are saved as text files which can played from within
  565. the @{"Player-Window" link PlayerWindow} or directly envoking the YAFA-Player "yp"
  566. with the "-batch"-option.
  567. Projects are the perfect choice if you want to create huge videos
  568. because the YAFA-system has the capability to play more small animations
  569. as one without any gaps.
  570. Another advantage is the fact that you can apply changes to such
  571. a project much easier than to a single huge animation.
  572. @{b}Functions:@{ub}
  573. @{u}Animations@{uu}
  574. Add            Include a YAFA-animation (*)
  575. Kill           Remove the selected animation from the list
  576. Replace        Replace the selected file
  577. Up/Down        Move selected item up/down in the list
  578. Local Range    Specify the first first and last frame to be played
  579.                 Example: the selected animation has 100 frames
  580.                          1, 100  - exactly one shot
  581.                          11,  50 - skips first 10 frames, plays 40 frames
  582.                          51, 250 - plays the complete animation exactly
  583.                                    two times, start/end are moved by 50 frames
  584. Global Range   Shows range as global frame numbers in the project
  585. Info           Display some information about the selected animation
  586.                and let you adjust some settings similar to the @{"Player-Window" link PlayerWindow}
  587. Filmstrip      Open the @{"Filmstrip-Window" link FilmStripWindow}
  588. @{u}Sounds@{uu}
  589. Add            The same like (*) for modules, samples or executables
  590. Kill           Dito
  591. Replace        Dito
  592. Global Range   Set global frame numbers to start/stop playing selected sound.
  593.                An executable will be started when the player reaches the start
  594.                value.
  595.                A special case is the range  0,0 for executables. These
  596.                commands will be executed before the YAFA-Player shuts down
  597.                intuition - so  you can use commands that have an output
  598.                (like a cd-player)
  599. Type           specify the type of sound-effect
  600. Edit           open one of the edit-windows @{"Module" link ModuleWindow}, @{"Sample" link SampleWindow} or @{"Command" link CommandWindow}
  601. @{u}Project@{uu}
  602. Frames         Shows the number of frames the whole project consists of
  603. Play selected  Play project starting with the selected item
  604. Play all       Play the whole project
  605. Profile        Open the @{"Profile-Window" link ProfileWindow}
  606. Identify       Calculate animation and frame number from a global frame number
  607. Save All       Save all frames played in the project using the picture
  608.                basename specified in the @{"Converter" link ConverterWindow}
  609. Clear          clear the whole project
  610. Project File   select file to load/save
  611. @endnode
  612. @node ProfileWindow
  613. @{b}Profile-Window@{ub}
  614. The Profile-Windows is  made to visualize the ranges of animations
  615. and sounds of a project.
  616. @{b}Functions@{ub}
  617. Animations     Shows bars representing the global ranges of the animations
  618. Sounds         The same for sound-effects
  619. Size-Profile   Show a size-profile of the whole project
  620. Full View      Scale the bars horizontally to fit the whole project in
  621.                the window
  622. Lines          Number of visible lines, the best choice depends on the
  623.                used font
  624. Because the range of a particular animation effects the whole project
  625. it can not be changed from within this window. But you can set ranges
  626. of sound effects using the mouse:
  627. Left Button    Drag startpoint
  628. Right Button   Drag endpoint
  629. @endnode
  630. @node ModuleWindow
  631. @{b}Module-Window@{ub}
  632. This edit-window appears if the selected item is a protracker module
  633. which will be played with the internal player.
  634. @{b}Functions:@{ub}
  635. File        Filename which can be changed here
  636. Test        Hear the module
  637. Stop        Stop playing
  638. @endnode
  639. @node SampleWindow
  640. @{b}Sample-Window@{ub}
  641. If the selected sound-effect is an IFF 8SVX sample this window appears.
  642. @{b}Functions:@{ub}
  643. File        Filename which can be changed here
  644. Test        Hear the sample
  645. Channel     Select the audio channel (ignored when playing stereo samples)
  646. Repeat      How often the sample is played, a value of 0 causes an
  647.             endless loop
  648. Volume      Adjust the volume
  649. Stop        Stop playing
  650. @endnode
  651. @node CommandWindow
  652. @{b}Command-Window@{ub}
  653. This window is for editing commands.
  654. String        The command you want to execute. You can type in whatever
  655.               you want, e.g.
  656.                "rx ARexx:EP_LoadModule.rexx Music:CUST.Electricity" or
  657.                "CDPLAY 4" or
  658.                "delete s:startup-sequence"
  659. Test          To execute the command.
  660. @endnode
  661. @node FilmStripWindow
  662. @{b}Filmstrip-Window@{ub}
  663. From within this window you can create, modify and play filmstrips.
  664. A filmstrip is a small representation of a single animation
  665. or a whole project. Such filmstrips are for example played
  666. in the middle the TMaker-Window.
  667. @{b}Animation@{ub}
  668. Animation     Filename of the animation or project to be converted
  669. From/To/Step  Range changes the pictures which will be used for the film
  670. Width         The width of the filmstrip
  671. Color         Type of palette to be generated
  672. Update        Start converting
  673. @{b}Film@{ub}
  674. Film          Filename of the Filmstrip
  675. Rows/Cols     Specifys the layout while displaying or playing
  676. Load/Save     Load/save a filmstrip
  677. Play          Play the selected filmstrip as movie, to change the
  678.               speed use the numeric keys
  679. Append        Append the selected filmstrip to the current (displayed) one
  680. @endnode
  681. @remark /*************************************************************/
  682. @remark /*
  683. @remark                            Player
  684. @remark */
  685. @remark /*************************************************************/
  686. @node PlayerWindow
  687. @{b}PlayerWindow@{ub}
  688. This window acts as a GUI for the external animation players like
  689. the YAFA-Player "yp".
  690. Some of the functions are only available for YAFA-animations.
  691. @{b}Animation@{ub}
  692. File          filename of a single animation or a Wildfire-project
  693. Display       select the realtime-transformations done by the YAFA-Player
  694. Cache         don't play YAFA-animations directly from harddisk
  695. FrameBuffers  cache-buffer for the YAFA-player
  696. LoadBuffer    load-buffer for the YAFA-player
  697. @{b}Information@{ub}
  698. Animation     show type-specific informations about the selected animation
  699. Shortcuts     show the shortcuts of the YAFA-player
  700. In case of YAFA- or IFF-animations a size-profile and some informations
  701. about the used compression is displayed.
  702. The @{" Timecodes-Window " link TimeCodesWindow} can be reached from this Window, too.
  703. @{b}Player@{ub}
  704. Output        select the type of display for the YAFA-player
  705. Wait          after setting this option the YAFA-Player waits for a
  706.               SPACE-press before playing
  707. @endnode
  708. @node TimeCodesWindow
  709. @{b}TimeCodes-Window@{ub}
  710. This window allows you to modify the timecodes of YAFA- and
  711. IFF-animations. A special feature is importing/exporting
  712. files. This makes it possible to modify timecodes graphically
  713. using the @{" Envelope-Editor " link EnvelopeWindow}.
  714. @{b}Functions:@{ub}
  715. From, To, Step    range to be modified
  716. Set Timecode      set a single timecode
  717. Time Range        change all timecodes inside the specified range
  718. Import            import timecodes from a file saved by the Timecodes-Editor
  719.                   or from within the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow}
  720. Export            save the current timecodes to disk
  721. Show              show the selected frame of the animation
  722. Play              play the whole animation to test the changes
  723. @endnode
  724. @remark /*************************************************************/
  725. @remark /*
  726. @remark                            TMaker
  727. @remark */
  728. @remark /*************************************************************/
  729. @node TMakerWindow
  730. @{b}TMaker-Window@{ub}
  731. The transition maker creates various predefined transitions between
  732. two animations also known as "wipes". This feature is very useful in
  733. conjunction with animation-projects.
  734. It's recommended to install the example-filmstrips which show
  735. two animations (called "A" and "B") and the selected transition
  736. from "A" into "B" (called "A->B") as small animations in the middle
  737. of the Transition-Window. The Filmstrip-Player is implemented as a
  738. background-task at low priority so no cpu-time is wasted.
  739. Because only YAFA-animations can be arranged in animation-projects
  740. only this output-format is supported yet.
  741. @{b}Functions:@{ub}:
  742. Input1         Input animation 1
  743. Input2         Input animation 2
  744. Output         Output animation (the transition)
  745. Temp           A directory used for the temporary files which will be
  746.                created while rendering
  747. CreateEX       If you have only the small installation of Wildfire without
  748.                transition-filmstrips this button will create them for you.
  749.                To test if you have the example transitions just enable
  750.                the "Example"-option. After that three animations should
  751.                appear in the middle of the window.
  752.                If they doesn't you may create them by pressing the
  753.                "CreateEX"-button.
  754. YAFAOpts       Adjust the YAFA-compressor-options
  755. Preview        Turn preview on/off
  756. Example        Turn example-movies on/off
  757.                Because this features runs at low priority it may be
  758.                always switched on.
  759. Type           Select the main type of transition
  760. Subtype        Select the subtype of the selected transition
  761. CreateTemp     Create the temporary files
  762.                This files have to be generated only once for a pair of
  763.                input-animations. So you can test various transitions very
  764.                quickly.
  765.                The "Convert"-function creates them automatically if necessary.
  766. KillTemp       Deletes all temporary files.
  767. Play           Play the animation-sequence "anim1 - transition - anim2"
  768. Convert        Create the transition
  769. @endnode
  770. @remark /*************************************************************/
  771. @remark /*
  772. @remark                            Preferences
  773. @remark */
  774. @remark /*************************************************************/
  775. @node PreferencesWindow
  776. @{b}Preferences-Window@{ub}
  777. The Preferences-Window lets you specify most of the program-settings
  778. and handle different settings for different purpose. All modified
  779. settings are active immediately - there are no "Use"- or "Cancel"-
  780. gadgets.
  781. @{b}Functions @{ub}
  782. ScreenType         choose the type of the Wildfire-screen
  783. Screenmode         choose the screenmode
  784. DisplayScreenmode  choose the screenmode for displayed images
  785. ScreenFont         select the font for the Wildfire screen
  786. IconManagerFont    select the font for the Icon Manager
  787. ScreenColors       select the colors for the wildfire screen
  788. Preset             some color-presets. "WF (modern)" is the default
  789. Import             load colors
  790. Export             save colors
  791. PlayerScreen       name of the public screen for the YAFA-Player
  792. DClickTime         time for a double click
  793. Statistics         turn on/off the generation of Player- and
  794.                    Converter-statistics
  795. Expertmode         turn on/off safety-requesters
  796. BrutalBlit         faster blitting
  797. OpenDWA            open the @{" DWA-Window " link DWAWindow} at startup
  798. Paths              open the Paths-Window
  799. Macros             open the Macros-Window
  800. File               the filename of the current Preferences-file
  801. Save               save the current settings
  802. Load               load the specified settings
  803. @{b}Paths-Window @{ub}
  804. From within this window the default paths for animations, pictures, ...
  805. and the external programs are specified.
  806. YAFA Player          player for YAFA-animations (default: "c:yp")
  807. Anim Player          player for ANIM-animations (default: "c:vt")
  808. MPEG-Player          player for MPEG-anims      (default: "c:mp")
  809. ImageProcessor       external image-processor   (default: "ADPro mm=1000000")
  810. Viewer               image-displaying program   (default: "c:visage")
  811. Editor               text-editor                (default: "c:ed")
  812. The "ImageProcessor"-setting is only used by the "ARexx"-Operator-PlugIn.
  813. @{b}Macros-Window@{ub}
  814. In this window the ARexx-macros executed after pressing on
  815. of the function-keys can be specified. Because there are only
  816. 10 function keys and maybe lots of macros the <F10>-key
  817. is reserved. After pressing it a filerequester appears
  818. and lets you select the macro to execute.
  819. @endnode
  820. @remark /*************************************************************/
  821. @remark /*
  822. @remark                            Icons
  823. @remark */
  824. @remark /*************************************************************/
  825. @node IconsWindow
  826. @{b}Icons-Window@{ub}
  827. The Icons-Window has three major functions: changing filetypes
  828. of icons on the desktop, setting up of some desktop-specific options
  829. and creating of icons with nearly unlimited size and quality.
  830. @{b}Options:@{ub}
  831. File               filename of the desktop-files
  832. Trashcan-Action    lets you selected if you want to remove only
  833.                    icons or icons and files
  834. @{b}Icon-Saver:@{ub}
  835. Image1             filename of the first (normal) image of the
  836.                    icon to be generated
  837. Image2             optional 2nd image
  838. Icon               icon-file to be generated
  839. Color              sets the type of palette to be generated
  840. Width              specified the icon-width, the height depends
  841.                    on the aspect of the 1st image
  842. Depth              number of colors used for rendering
  843. Convert            After pressing the convert-button the images
  844.                    are loaded, scaled and rendered using the
  845.                    current screen-palette. If you want to create
  846.                    icons for the Workbench you have open Wildfire
  847.                    on the Workbench-screen (temporary). If you want
  848.                    to create icons in high quality use a very high
  849.                    screen-depth and convert the created icons into
  850.                    NewIcons later.
  851. @{b}Change the filetype:@{ub}
  852. If Wildfire didn't recognise the type of an external file correctly
  853. you can change this type by simply dragging the icon into the
  854. Icon-Window. After that a requester displaying the current and
  855. the available filetypes will appear.
  856. @endnode
  857. @remark /*************************************************************/
  858. @remark /*
  859. @remark                              DWA
  860. @remark */
  861. @remark /*************************************************************/
  862. @node DWAWindow
  863. @{b}DWA-Window@{ub}
  864. The DWA-Window allows you to access windows directly. This may
  865. help you to locate special functions in a faster way. After selecting
  866. a window and pressing the <enter>-key the selected window
  867. and all windows which are on top of it in the window-hierarchy are opened.
  868. If you set the "OpenDWA"-option in the @{"Preferences-Window" link PreferencesWindow}
  869. the DWA-Window will be opened at startup automatically.
  870. @endnode
  871. @remark /*************************************************************/
  872. @remark /*
  873. @remark                              Log
  874. @remark */
  875. @remark /*************************************************************/
  876. @node LogWindow
  877. @{b}Log-Window@{ub}
  878. All statistics, warnings and some additional informations are
  879. collected and displayed in this window.
  880. Of course this feature can be turned off.
  881. @{b}Functions@{ub}:
  882. State           toggle logfile-generation on/off
  883. Edit            edit the logfile
  884. Delete          delete the logfile
  885. Clear           clear the logfile
  886. Load            load the logfile
  887. Save            save the logfile
  888. Verbose         toggle verbose-mode on/off
  889. SaveAtExit      toggle saving of the logfile at program-exit on/off
  890. @endnode
  891. @node InfoWindow
  892. @{b}Info-Window@{ub}
  893. This window displays some useful informations like the available
  894. memory, the date, the amount of currently allocated memory
  895. and program-informations.
  896. @endnode
  897. @remark /*************************************************************/
  898. @remark /*
  899. @remark                            PlugIns
  900. @remark */
  901. @remark /*************************************************************/
  902. @node PlugInsWindow
  903. @{b}PlugIns-Window@{ub}
  904. The PlugIns-Window gives you control over external Wildfire-programs
  905. known as "General PlugIns".
  906. @{b}Functions@{ub}
  907. Add           add one or more PlugIns
  908. Delete        unload the selected PlugIn
  909. SavePrefs     save the settings of a PlugIn
  910. Open          activate the selected PlugIn
  911. Close         deactivate a PlugIn
  912. The "SavePrefs"-function saves the PlugIn-state and some private-date.
  913. If the PlugIn was open while saving it will be activated
  914. next time automatically.
  915. @{b}Available PlugIns@{ub}
  916.  @{"  ColorWheel     " link ColorWheelPlugIn}
  917.  @{"  Command        " link CommandPlugIn}
  918.  @{"  ConvertImages  " link ConvertImagesPlugIn}
  919.  @{"  CountPlugIns   " link CountPlugInsPlugIn}
  920.  @{"  EPSSaver       " link EPSSaverPlugIn}
  921.  @{"  GrabWindow     " link GrabWindowPlugIn}
  922.  @{"  TileImage      " link TileImagePlugIn}
  923.  @{"  SlideShow      " link SlideShowPlugIn}
  924. @endnode
  925. @node ColorWheelPlugIn
  926. @{b}ColorWheel-PlugIn@{ub}
  927. The ColorWheel-PlugIn was made to simplify the selection of the right
  928. colors for the various operators.
  929. Just select a color of your choice and use the values indicated at
  930. the bottom of the window as effect-parameters.
  931. @endnode
  932. @node CommandPlugIn
  933. @{b}Command-PlugIn@{ub}
  934. The Command-PlugIn executes the supplied input-string as
  935. Wildfire-ARexx-command.
  936. This may be useful while creating complicated macros
  937. or simply to test out how a particular command works.
  938. @endnode
  939. @node ConvertImagesPlugIn
  940. @{b}ConvertImages-PlugIn@{ub}
  941. The ConvertImages-PlugIn converts a drawer of images keeping
  942. all filenames. No special-effects can be applied.
  943. This is for example useful if you have a drawer with lots of
  944. jpeg-, tiff-, iff-, ... images and you want them all in png-format.
  945. The file-tag can be specified using the "Extension"-gadget - if
  946. this field is left blank the filenames are not changed.
  947. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  948. the Processor.
  949. @endnode
  950. @node CountPlugInsPlugIn
  951. @{b}CountPlugIns-PlugIn@{ub}
  952. The CountPlugIns-PlugIn shows some statistics about the initialized
  953. PlugIns including Operators, Savers and General PlugIns.
  954. This trivial thing was created as example for the developer-
  955. kit which will be available soon.
  956. @endnode
  957. @node EPSSaverPlugIn
  958. @{b}EPSSaver-PlugIn@{ub}
  959. The EPSSaver-PlugIn converts any picture which can be read
  960. by Wildfire into an eps-file which can be included into
  961. TeX-documents or directly processed by ghostscript.
  962. @{b}Functions:@{ub}
  963.  Input        input-image
  964.  Output        eps-file to be generated
  965.  Resolution    resolution in dpi
  966.  Type        output-type: Gray, Color or Black&White
  967. @{b}Notes:@{ub}
  968.  1. This PlugIn replaces my iff2eps-package.
  969.  2. The eps-files created by this PlugIn are uncompressed and therefore
  970.     highly portable.
  971.  3. The eps-image will be centered on a normal A4-page automatically.
  972. @endnode
  973. @node SlideShowPlugIn
  974. @{b}SlideShow-PlugIn@{ub}
  975. The SlideShow-PlugIn allows you to create slideshows easily.
  976. There are many functions to create and modify a picture-list
  977. which can be loaded and saved.
  978. The slideshow is performed calling the external program
  979. "Visage" by Magnus Holmgren. This nice program is used
  980. because of it's capability of "loading while displaying".
  981. @{b}Functions:@{ub}
  982.  Add         add one or more images to the list
  983.  AddDir          add the contents of a whole drawer to the list
  984.  From, To, Step  picture-range
  985.  Remove          remove the selected picture from the list
  986.  Remove Range    remove all pictures inside the specified range from the list
  987.  Delete          delete the selected picture
  988.  File            file for loading/saving picture-lists
  989.  Save            save the current picture-list to disk
  990.  Load            load a previously saved picture-list
  991.  Clear           clear the current picture-list
  992.  Show            display the selected picture
  993.  Delay           pause between two images during the slideshow
  994.  Go              perform the slideshow
  995. The only way to abort the slideshow is to abort the viewer
  996. sequentially pressing the right mouse-button. The number of 
  997. required mouseclicks depends on the length of the image-paths 
  998. and the number of items in the picture-list.
  999. @endnode
  1000. @node GrabWindowPlugIn
  1001. @{b}GrabWindow-PlugIn@{ub}
  1002. The GrabWindow-PlugIn saves the selected Window or screen to harddisk.
  1003. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1004. the Processor.
  1005. @endnode
  1006. @node TileImagePlugIn
  1007. @{b}TileImage-PlugIn@{ub}
  1008. The TileImage-PlugIn splits a specified image into small portions
  1009. with the same size.
  1010. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1011. the Processor.
  1012. @{b}Functions:@{ub}
  1013.  Input        input-image
  1014.  Output        base-filename of the generated particles
  1015.  xCount        number of fragments in x-direction
  1016.  yCount        number of fragments in y-direction
  1017. @{b}Notes:@{ub}
  1018.  1. Finally you will get xCount*yCount fragments with
  1019.     filenames like "output.0001", "output.0002", ...
  1020.     The counter runs from the left lower edge to the right upper
  1021.     edge (which may be important if you want to use
  1022.     the created images later)
  1023.  2. the sum of the generated fragments must fit the
  1024.     image-size *exactly*. For example you can't subdivide
  1025.     an image of the dimensions 640x480 into 3x7 fragments
  1026.  3. The idea for this PlugIn is really not mine ;)
  1027. @endnode
  1028. @remark /*************************************************************/
  1029. @remark /*
  1030. @remark                            FAQ
  1031. @remark */
  1032. @remark /*************************************************************/
  1033. @node FAQ
  1034. @{b}Frequently Asked Questions@{ub}
  1035. 1. Q: Is there a WWW-site for Wildfire ?
  1036.    A: Not yet.
  1037. 2. Q: How to contact the author ?
  1038.    A: epgbc@cluster1.urz.Uni-Halle.DE
  1039. 3. Q: The demo-version I have installed isn't capable to convert
  1040.       large animations because of ''eating'' too much memory.
  1041.       Is this only a ''feature'' of the Demo-version ?
  1042.    A: Yes, of course !
  1043.       Wildfire has an own memory handler to simplify and speed up
  1044.       memory-allocations. The Demo-version has no free()-function,
  1045.       only the freeall()-function (which cleans up after program-exit)
  1046.       is available.
  1047. 4. Q: I've tried out the demo-version and it crashes after a while.
  1048.       I can't convert animations with it because I haven't enough
  1049.       memory to finish any operation.
  1050.       In may opinion you are loosing potential customers using such
  1051.       a way of restricting the unregistered program version.
  1052.       It would be much better to print your logo to every generated
  1053.       image - nobody could use the program seriously without registering.
  1054.    A: This is no bad idea. In fact I had implemented this "feature"
  1055.       in a previous version. The problem is that it's too easy to
  1056.       patch for "sunday-crackers".
  1057.       The way I currently use requires much more knowledge than
  1058.       simply replacing code-lines of the disassembled binary
  1059.       with "nop"-statements.
  1060.       Another point is that I think that's not necessary to create
  1061.       complete animations to decide if Wildfire is worth registering
  1062.       or not. Many working features of the unregistered version
  1063.       are missing in much more expensive "commercial" software.
  1064. 5. Q: Why did you release Wildfire as shareware ? It looks very
  1065.       professional.
  1066.    A: Well, Wildfire *IS* a professional piece of software.
  1067.       The main reason is the fact that Wildfire released as shareware
  1068.       is one of the programs with the best price/performance-ratio.
  1069.       If you release a program as "commercial product" a lot of money
  1070.       is spent for any other purpose than the program-development.
  1071.       A printed manual for example is very expensive to produce but
  1072.       the most people doesn't read manuals.
  1073.       Another advantage is the fast availability of free updates.
  1074.       Finally we couldn't find a distributor here in Germany because
  1075.       most of them sell their own gfx-software and the remaining ones
  1076.       are not professional.
  1077. 6. Q: Wildfire asks for amigaguide.library V37 at startup - but I
  1078.       have installed it !!!
  1079.    A: Be sure your startup-sequence contains the following lines:
  1080.        assign libs: hd0:classes add
  1081.        adddatatypes flush                   (since OS3.1)
  1082.       This is necessary because the amigaguide.datatype and maybe some
  1083.       other components will be initialized while opening the system-
  1084.       libraries. (This means that the error-message which is produced 
  1085.       by the startup-code I use is wrong.)
  1086. 7. Q: Which assigns etc. are necessary to run your program ?
  1087.    A: Wildfire works after booting without startup-sequence
  1088.       if you enter the following lines:
  1089.        setpatch
  1090.        assign libs: hd0:classes add
  1091.        adddatatypes flush
  1092.        stack 10000
  1093.        wf
  1094.       After that the most parts of the program (converting, processing
  1095.       images, playing animations) work without problems.
  1096.       The only "bad" thing I found is the online-help which
  1097.       is displayed as plain text.
  1098. 8. Q: After installing the new main-program I get lots of
  1099.       "initialization errors" while loading the PlugIns - 
  1100.       but SnoopDos doesn't display any LoadSeg-failure or similar.
  1101.    A: The "initialization error" occurs if version-number of
  1102.       the current PlugIn doesn't fit the version-number
  1103.       of the PlugIn-loader of the main-program.
  1104.       This means that all PlugIns you use are too old and 
  1105.       cannot be used any more.
  1106.       The reason for this "nasty" behaviour is the fact that
  1107.       the internal "PlugIn-structure" has to be extended sometimes.
  1108. @endnode
  1109. @remark /*************************************************************/
  1110. @remark /*
  1111. @remark                            Processor
  1112. @remark */
  1113. @remark /*************************************************************/
  1114. @node ProcessorWindow
  1115. @{b}Processor-Window@{ub}
  1116. @{u}Introduction@{uu}
  1117. The Processor is Wildfire's powerful image-processing engine which acts
  1118. as a PlugIn between the Converter's input and output.
  1119. If you have understood the basic @{" concept " link pcConcept} of this architecture
  1120. it's easy for you to create almost any complicated or simple effect.
  1121. @{b}Functions:@{ub}
  1122. @{u}Process-script:@{uu}
  1123. Add            open the @{" Operators-Window " link OperatorsWindow} to append an operator to the list
  1124. Kill           kill the selected item
  1125. Duplicate      duplicate the selected item
  1126. Import         import one or more items from a previously saved Process-file
  1127. Edit           open the options-window of the selected Operator
  1128. Up             move the selected item up
  1129. Down           move the selected item down
  1130. Visible/Hidden toggle if the current item remains visible if folding is
  1131.                enabled
  1132. Folding        toggle list-folding on/off
  1133. Range          the frame-range of the current Operator
  1134. Folding is very nice feature creating very complex scripts.
  1135. If a particular scene works you should hide it to work on the next one.
  1136. A comment describing the hidden scene and the frame-range
  1137. should be left visible.
  1138. @{u}Options:@{uu}
  1139. Mode           color-mode for rendered images
  1140. Dither         dithering-method used rendering images
  1141. Depth          depth of rendered images
  1142. CSkip          number of colors not used rendering images, this may
  1143.                be useful for creating Workbench-backdrops
  1144. Scale          @{" Process-Scale-Value   " link pcScale}
  1145. 3DQuant        @{" 3d-Quantization-Value " link pcQuant3D}
  1146. Smooth         toggle smoothing for various operators on/off
  1147. Single Image   open the @{" SinglePicture-Window " link SinglePictureWindow} to process single images
  1148. Variables      open the @{" Variables-Window     " link VariablesWindow} to edit time-dependant animation-paramters
  1149. Savers         open the @{" Savers-Window        " link SaversWindow} to select the Saver used while writing TrueColor-images
  1150. Palette        open the @{" Palette-Window       " link PaletteWindow} to create a locked Palette
  1151. Calculator     open the @{" Calculator-Window    " link CalculatorWindow}
  1152. File           filename used for loading/saving of Process-scripts
  1153. Load           load a previously saved Process-file
  1154. Save           save the Process-script, all Variables and the Palette
  1155.                as Process-file
  1156. Clear          clear the Process-script, all Variables keep unchanged
  1157. @{b}Additional ShortCuts:@{ub}
  1158. <del>            delete the selected list-item
  1159. <space>          Test Process of the @{" SinglePicture-Window " link SinglePictureWindow}
  1160. <v>              toggle @{" Preview " link ProcessorPreview} on/off
  1161. <up>,<down>      browse through the Process-list
  1162. <left>           unfold item (if folding=off)
  1163. <left>           unfold whole list after safety-requester (if folding=on)
  1164. <right>          fold item
  1165. @endnode
  1166. @node pcConcept
  1167. @{b}The concept@{ub}
  1168. A normal animation-converter like MainActor reads in a input-stream
  1169. of pictures and writes them as output-stream to harddisk.
  1170. (The complicated process of (de)compressing various animation-
  1171. formats is here neglected.)
  1172. The Converter of Wildfire extends this simple concept by a
  1173. PlugIn-architecture. You can "plug in" as many modifications
  1174. between the input and the output as you want. These modifications
  1175. are realized via Operators.
  1176. For example this concept would allow to scale down animations
  1177. "plugging in" a Halve-operator.
  1178. A further extension is the usage of tempory buffers called
  1179. "TEMP-buffers". Every Wildfire-PlugIn has at least two Parameters:
  1180. the input- and the output-buffer. The "normal" buffer generated
  1181. by the Converter is called "STREAM". There are 8 TEMP-buffers
  1182. called "TEMP1"..."TEMP8".
  1183. In this terms the process of halving an animation looks like this:
  1184. input
  1185.   ->STREAM -> Halve -> STREAM
  1186.                          I
  1187.                        output
  1188. This concept of TEMP-buffers is much more powerful. For example it
  1189. allows you to create an animation which consists of the input-
  1190. animation as gray background and as small colored foreground.
  1191. In this case you would need a Scale-, a ColorToGray- and a Compose-
  1192. PlugIn.
  1193. The scheme would look like this:
  1194. input
  1195.   ->STREAM -> Scale       -> TEMP1  )
  1196.                                      > Compose -> STREAM
  1197.            -> ColorToGray -> STREAM )               I
  1198.                                                   output
  1199. But this concept doesn't allow you very complicated effects
  1200. like a jumping animation in front of a melting one.
  1201. So a further extension is necessary: time-dependant animation-
  1202. parameters.
  1203. For example this allows you to create a spinning animation.
  1204. All you need is a Rotate-PlugIn and a rotate-amount running
  1205. from 0 to 360 degrees during the whole animation.
  1206. Let's assume your animation has 120 frames. To convert it into a
  1207. spinning one you have to "plug in" the Rotate-Operator, to
  1208. create the Envelope describing the variation of the
  1209. rotate-amount with the frame number and to "plug in" this
  1210. Envelope into the Rotate-Operator. That's it.
  1211. The Envelope consists of two points one at frame 0 with the
  1212. value 0 and one at frame 120 with the value 360.
  1213. Setting the value 0 at frame 0 which is never reached (the
  1214. first frame is always 1) causes the creation of a looping
  1215. animation.
  1216. As said before, if you understood this concept you can
  1217. do almost anything.
  1218. Example: Compose four different animations after applying
  1219. a Twirl-effect to the 1st, a Negative-effect to the 2nd,
  1220. a Cube-effect to the 3rd and a Posterise-effect to the 4th one:
  1221. input
  1222.   ->STREAM -> Twirl ->STREAM                     )
  1223.                                                   > Compose -> STREAM                                     )
  1224.           LoadImage ->TEMP1 -> Negative -> TEMP1 )                                                         )
  1225.                                                                                                             > Compose -> STREAM
  1226.                                              LoadImage -> TEMP1 -> Cube      -> TEMP1 )                    )               I
  1227.                                                                                        > Compose -> TEMP1 )              output
  1228.                                              LoadImage -> TEMP2 -> Poszerise -> TEMP2 )
  1229. This example doesn't make any sense but demonstrates that
  1230. the only limit is your own creativity.
  1231. @endnode
  1232. @node pcQuant3D
  1233. @{b}3D-Quantization-value@{ub}
  1234. This important parameter affects both the quality and the
  1235. speed of the images created or modified by the various 3d-effects.
  1236. The value specifies how many pixels are transformed like one
  1237. point of the source-image. If this value is left to 1 the image
  1238. is transformed pixel by pixel.
  1239. Higher values cause the approximation of the image by quadrangles
  1240. of the size specified by the 3D-Quantization-value.
  1241. E.g., after specifiying a value of 3 the image is approximated
  1242. by quadrangles of the size 3x3. The color of every quadrangle is
  1243. computed from the 9 original pixel using an interpolation method.
  1244. The result may look very bad but is displayed almost in realtime
  1245. at fast machines.
  1246. The main purpose of quantization values higher than 1 is to speed
  1247. up the generation of previews while adjusting the many parameters.
  1248. Another advantage may be the fact that the amount of memory
  1249. required for the 3d-calculations decreases with increasing
  1250. quantization-values at a power of 2. That means at a quantization
  1251. value of 2 you need only 25 percent of the memory required
  1252. for the full computation - but the image-quality will be almost the
  1253. same.
  1254. Smaller values cause the creation of more points using another
  1255. interpolation method. This may be necessary after combining
  1256. several 3D-effects which cause very large deformations.
  1257. In this case a qantization value of 0.5 will cause the interpotion
  1258. of every pixel by four quadrangles. This requires much more memory
  1259. and computation time but will produce images at very high quality.
  1260. @endnode
  1261. @node pcScale
  1262. @{b}Process-Scale-value@{ub}
  1263. This harmless-looking option is a real mega-feature: It allows you to
  1264. use Processor-scripts designed for a particular image-size to apply to
  1265. images of other dimensions.
  1266. Example: You have designed a large project of about 1000 frames
  1267.          processing images of a dimension 320x256. Now you want to
  1268.          create a preview-animation of the halve size.
  1269.          So simply set the Scale-value to 0.5.
  1270. Due the nature of such feature there are some restrictions:
  1271.  *the current image-sequence must have the same aspect as the one the
  1272.   script was designed for
  1273.  *some very special operators cannot be used, e.g. the font-size
  1274.   of the Text-operator cannot be scaled contingously
  1275. But the last point is no real restriction because these few
  1276. operators can be replaced (temporarily).
  1277. There is one very important thing you should always remember.
  1278. After changing the Process-Scale-value all process-parameters
  1279. which are in pixel-units are scaled. That may be cause very
  1280. strange results if you use images with a dimension which doesn't
  1281. fit this scale-value.
  1282. Example: You use a scale-value of 0.5 and the same images the
  1283.          script was designed for. In this case all size-dependant
  1284.          are divided by 2. If you script for example contains
  1285.          a 3D-operator with a camZ-value of -800 this value will
  1286.          be reduced to -400. This will cause a very strange
  1287.          view if your image has a size of 640x480, the program
  1288.          may even hang up due the rendering of almost infinite
  1289.          large faces.
  1290. So always don't forget to change the input-stream and not only
  1291. the Process-Scale-value !
  1292. @endnode
  1293. @node ProcessorPreview
  1294. @{b}Preview-Window@{ub}
  1295. The Preview is a very useful feature while testing complicated scripts.
  1296. It applies the current-Process-script to a smaller version
  1297. of the picture specified in the @{" SinglePicture-Window " link SinglePictureWindow}.
  1298. The change of any parameter is visible in the Process-Window
  1299. instantly (on fast machines). To abort the geneneration of
  1300. the preview hold the left mouse-button.
  1301. The width and depth of the preview can be specified from within the
  1302. @{" SinglePicture-Window " link SinglePictureWindow}.
  1303. A width of 160 and a depth of 4 is a should be always good choice.
  1304. The original width of the input-image is displayed in the
  1305. window title. This may be sometimes important adjusting size-dependant
  1306. parameters.
  1307. If you used a "normal" image-processor before you may have enjoyed
  1308. the feature of graphically specifing parameters like dragging a rectangle
  1309. for a Crop-effect. Such a feature isn't implemented into Wildfire
  1310. because I had no idea of good concept yet.
  1311. The problem is that all Operators of the Process-script are
  1312. independant. That means that a Twirl-effects doesn't "know" about
  1313. a Scale-effect executed before.
  1314. And the Scale-effect doesn't "know" about about a CreateImage-effect
  1315. executed before...
  1316. A first attempt is the @{" ImageCoordinates-Window " link ImageCoordinatesWindow} which
  1317. allows you to graphically modify some types of controls inside the
  1318. Preview-Window. For example if you want to crop an image you may
  1319. use the "Rectangle"-control and later copy the indicated coordinates
  1320. to the options-window of the Crop-PlugIn.
  1321. To disable a particular effect temporaray simply modify it's working
  1322. range (especially the from-value).
  1323. @{b}Shortcuts:@{ub}
  1324. <space>       refresh the image (e.g. after aborting)
  1325. <c>           open the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1326. @endnode
  1327. @node ImageCoordinatesWindow
  1328. @{b}ImageCoordinatesWindow@{ub}
  1329. The ImageCoordinates-Window is a first attempt to modify parameters
  1330. graphically. There a some types of controls which can be dragged and 
  1331. modified using the mouse. All interesting values like image-coordinates
  1332. or the radius of a circle are indicated and could be copied to the 
  1333. options-window of the selected PlugIn.
  1334. @{b}Functions@{ub}
  1335. Control-Type     type of control:
  1336.                    point : simple point, e.g. represting a upper-left edge
  1337.                            of a image to be composed
  1338.                    rect  : e.g. representing a crop-region
  1339.                    circle: e.g. representing the amount and the radius
  1340.                                 of a Twirl-effect
  1341. Left,Top         coordinates of the point (in coordiantes of the unscaled image),
  1342.                  upper-left edge of the rectangle,
  1343.                  centre of the circle,
  1344. Right, Bottom    lower-right edge of the rectangle
  1345. Angle            angle of the current drawn radius of the circle
  1346. Radius           radius of the circle
  1347. @endnode
  1348. @node SinglePictureWindow
  1349. @{b}SinglePicture-Window@{ub}
  1350. This window is made to process single images and to simplify the
  1351. creation of complicated Processor-scripts.
  1352. @{b}Functions:@{ub}
  1353. Input              input image, this field is by default initialized by
  1354.                    Wildfire's intro-picture because it must be always
  1355.                    filled
  1356. Frame              the current frame
  1357. Frames             number of frames, this value is only used as maximum
  1358.                    for the scrollbar below
  1359. Scrollbar          another way to change the current frame number
  1360. Test Process       execute the current Processor-script using the current
  1361.                    frame-number and display the result
  1362. Screenmode         select the screenmode used by the "Test Process"-function
  1363. Apply Dimensions   apply the dimensions of the current input-image to the
  1364.                    selected operator, e.g. if the selected operator is a
  1365.                    Twirl-effect the centre and the radius is set
  1366. Preview            toggle @{" Preview " link ProcessorPreview} on/off
  1367. Width              width of the preview
  1368. Depth              depth of the preview, if this value exceeds the
  1369.                    screen-depth the screen is updated automatically
  1370. Output             output-image
  1371. Save Image         execute the current Processor-script using the current
  1372.                    frame-number and save the result using the saver
  1373.                    selected in the @{" Savers-Window " link SaversWindow}
  1374. Save Rendered      execute the current Processor-script using the current
  1375.                    frame-number, render it using the settings made
  1376.                    in the Processor-Window and save the result as ILBM-image
  1377. @{b}Additional Shortcuts:@{ub}
  1378.  <v>               toggle @{" Preview " link ProcessorPreview} on/off
  1379.  <space>           Test Process
  1380.  <left>,<right>    decrease/increase the current frame-number
  1381. The useful <v>- and <space>-shortcuts are also available from within
  1382. every Effect-window and the Processor-Window.
  1383. @endnode
  1384. @node VariablesWindow
  1385. @{b}Variables-Window@{ub}
  1386. From within the Variables-Window time-dependent animation-parameters
  1387. are created, modified, loaded and saved.
  1388. @{b}Functions:@{ub}
  1389. Add                 add a variable
  1390. Kill                kill the selected Variable
  1391. Rename              rename the selected Variable
  1392. Envelope            open the @{" Envelope-Window " link EnvelopeWindow} to graphically
  1393.                     edit the current variable
  1394. File                filenames used for loading/saving of variables
  1395. Load                load variables from a previously saved Variables-file
  1396. Save                save all variables to disk
  1397. Clear               clear all variables
  1398. After clearing a Variable all informations about this Variable
  1399. are lost - even in the Processor-script.
  1400. @endnode
  1401. @node SaversWindow
  1402. @{b}Savers-Window@{ub}
  1403. From within this window the Saver used for writing Truecolor-images
  1404. is choosen. Most Savers offer an options-window which can be
  1405. accessed from within the Savers-Window, too.
  1406. Another purpose is to add or remove Saver-PlugIns.
  1407. Saver-PlugIns contain both the save- and the load-functions for a
  1408. particular image-format. Removing a Saver causes the loss of the
  1409. capability to load and save images of this file-format.
  1410. All unknown fileformats are handled via datatypes which is restricted
  1411. to the operation of loading.
  1412. Most Saver-PlugIns allow you to disable the loader-function explicitly.
  1413. This may be necessary if the Wildfire-loader doesn't support a
  1414. particular sub-format and you want to use datatypes. An example is
  1415. the PNG-format with it's lots of options.
  1416. There a many people saying "may xxx-datatype is the best, the greatest
  1417. and the fastest". If this is also your opinion you may
  1418. switch the loaders permanently off saving the prefs after
  1419. disabling.
  1420. (In fact it's nearly impossible to write a datatypes which operates
  1421.  faster than Wildfire because this program always was to designed
  1422.  to be fast and not to conserve memory.)
  1423. @{b}Functions:@{ub}
  1424. Add            add an external Saver-PlugIn
  1425. Delete         delete the selected Saver-PlugIn
  1426. SavePrefs      save all of the options of the current PlugIn
  1427. Options        open the options-window of the selected Saver-PlugIn
  1428. @{b}Available Savers@{ub}
  1429.  @{" ILBM " link ILBMSaver}
  1430.  @{" JPEG " link JPEGSaver}
  1431.  @{" PNG  " link PNGSaver}
  1432. @endnode
  1433. @node ILBMSaver
  1434. @{b}ILBM-Saver@{ub}
  1435. This PlugIn saves and load images in the ILBM-format.
  1436. @{b}Options:@{ub}
  1437. Compression     ByteRun1/Node
  1438. Loader          disable/enable the loader
  1439. The choice of no compression is good for saving huge images
  1440. (e.g. at 600dpi). In such cases there may be not enough
  1441. memory to do any compression.
  1442. @endnode
  1443. @node JPEGSaver
  1444. @{b}JPEG-Saver@{ub}
  1445. This PlugIn saves and load images in the JPEG-format.
  1446. @{b}Options:@{ub}
  1447. Quality         remaining image-quality in percent
  1448. Format          toggle Normal/Progressive-format
  1449. Optimize        toggle Huffman-table-optimizing on/off
  1450. Output          toggle TrueColor/GrayScale-output
  1451. Loader          disable/enable the loader
  1452. In the most cases the TrueColor-Progressive-format should
  1453. be the best choice.
  1454. This PlugIn uses routines of the @{b}IJG JPEG Library@{ub}
  1455. developed by @{b}The Independent JPEG Group.@{ub}
  1456. @endnode
  1457. @node PNGSaver
  1458. @{b}PNG-Saver@{ub}
  1459. This PlugIn saves and load images in the PNG-format.
  1460. @{b}Options:@{ub}
  1461. Format          various formats are supported:
  1462.                  24Bit RGB   : TrueColor-image
  1463.                   8Bit Color : rendered image in 256 colors
  1464.                                (good GIF-replacement)
  1465.                   8Bit Gray  : grayscale-image
  1466.                   4Bit color : rendered image in 16 colors
  1467.                   Black&White: rendered Grayscale image in 2 colors
  1468. Loader          disable/enable the loader
  1469. This PlugIn uses routines of the @{b}PNG Reference Library@{ub}
  1470. developed by @{b}Group 42, Inc.@{ub}
  1471. @endnode
  1472. @node PaletteWindow
  1473. @{b}Palette-Window@{ub}
  1474. The Palette-Window lets you create, modify, load and save a
  1475. locked Palette used by the Processor while rendering images.
  1476. @{b}Functions:@{ub}
  1477. File              file to load/save palettes
  1478. Load              load the palette from the selected file,
  1479. Save              save the current palette to disk
  1480. Red, Green, Blue  values of the current selected palette-entry
  1481. Copy              duplicate the current color
  1482. Exchange          exchange two colors
  1483. Spread            create a color-transition between two colors
  1484. Undo              reset the last changed color to its previous value
  1485. State             toggle the state of the Palette
  1486. Use               make all performed changed permanent
  1487. Cancel            cancel all apllied changes
  1488. If the state of the Palette is enabled it will be used for all
  1489. forthcoming render-processes. This is very important if
  1490. you want to create animations with locked colors using
  1491. the Processor.
  1492. If you use a screendepth smaller than 8 no change of Palette
  1493. will be visible (indicated by changing screen-colors).
  1494. In the other case while pressing the right mouse-button the
  1495. normal screen-colors are used for the lower palette-entries
  1496. which is important to locate gadgets.
  1497. @endnode
  1498. @node CalculatorWindow
  1499. @{b}Calculator-Window@{ub}
  1500. The Calculator-window is made to easily evaluate mathematical expressions
  1501. and to define or view user-defined symbols.
  1502. Most of Wildfire's gadgets allow you to enter mathematical expressions, too.
  1503. The symbols defined from within the Calculator-Window can be accessed
  1504. from this gadgets, too.
  1505. @{b}Functions:@{ub}
  1506. 1st string-gadget      expression to evaluate
  1507. Results                shows the last three results
  1508. Symbols                list of all user-defined symbols, especially constants
  1509. Load                   load symbols from a previously saved file
  1510. Save                   save all symbols to disk
  1511. To define a symbol enter it's name and optionally it's value,
  1512. e.g. "a=sqrt(9)/2" initializes the symbol "a" with the value 1.5.
  1513. Later you could enter the expression "a/2" into of the Processor-gadgets.
  1514. If the corresponding value (e.g. a zoom-factor) is of type float it
  1515. will be set to 0.75 otherwise it will be rounded to 1.
  1516. @endnode
  1517. @node EnvelopeWindow
  1518. @{b}Envelope-Window@{ub}
  1519. From within this window all time-dependent animation-parameters
  1520. (called "Envelopes") are created and modified.
  1521. An Envelope is a twodimensional curve with the frame-number
  1522. as x-values and the animation-parameter as y-value. Therefore
  1523. the x-values are always integer-values.
  1524. If the framber-number of the Processor exceeds the range of an
  1525. Envelope the first or last y-Value is used. This means if your Envelope
  1526. only contains one point the y-value of this point is used for
  1527. all frame-numbers.
  1528. Most operations are made using the mouse. A point is selected
  1529. by clicking on it. Moving the mouse while holding the left
  1530. button causes the selected point to be dragged.
  1531. The whole graph can be scrolled using the cursor-keys.
  1532. @{b}Functions:@{ub}
  1533. XRange            the displayed x-range
  1534. YRange            the displayed y-range
  1535. X                 the x-value (frame-number) of the selected point
  1536. Y                 the y-value of the selected point
  1537. Add Point         add a point
  1538. Kill Point        kill a point
  1539. Type              change the type of the Envelope:
  1540.                    Linear: connect two points by straight lines
  1541.                    Spline: use a cubic spline interpolation to connect points
  1542.                    Bezier: surround points by bezier-curves
  1543. View All          view the whole Envelope
  1544. File              filename to save/load Envelopes
  1545. Load              load a previously saved Envelope
  1546. Save              save the current Envelope to disk
  1547. Use               make all performed changes permanent
  1548. Cancel            discard all applied changes
  1549. Advanced Options  open the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow} to perform
  1550.                   more complex operations
  1551. @endnode
  1552. @node EnvelopeAdvancedWindow
  1553. @{b}EnvelopeAdvanced-Window@{ub}
  1554. From within this window seldom-used but very useful transformations
  1555. are applied to Envelopes.
  1556. @{b}Functions:@{ub}
  1557. @{u}Point-Operations:@{uu}
  1558. First, Last, Step     point-range affected by transformations
  1559. YValue                x-value used by the transformation
  1560. YValue                y-value used by the transformation
  1561. Scale                 scale the Envelope by the x- and y- value specified below
  1562. Shift                 shift the Envelope by the x- and y- value specified below
  1563. @{u}Evaluate Expression:@{uu}
  1564. XMin, XMax, XStep     x-range used for evaluating
  1565. Expression            mathematical expression as function of "x"
  1566. Evaluate              create an Envelope using the x-range as frame-numbers
  1567.                       and the evaluated values as y-value
  1568. @{u}Import/Export:@{uu}
  1569. Load Curve            load a 2D-data file used by plotting programs 
  1570.                       and convert it as an Envelope
  1571. Save Curve            save the current Envelope as 2D-datafile
  1572. Load Timecodes        load a previously saved Timecodes-file and convert
  1573.                       it as an Envelope
  1574. Save Timecodes        save the current Envelope as a Timecodes-file used
  1575.                       from within the @{"Timecodes-Window" link TimecodesWindow}
  1576. @endnode
  1577. @node OperatorsWindow
  1578. @{b}Operators-Window@{ub}
  1579. The Operators-Window opens after pressing the "Add"-button of the
  1580. Processor-Window and allows you to select an operator which will be
  1581. appended to your Processor-script.
  1582. Another purpose is to add PlugIns to the internal database
  1583. or to remove them.
  1584. All operations can be done both using the mouse and the keyboard.
  1585. Use the cursor-keys to browse through the lists and the <enter>-key
  1586. to apply the selection.
  1587. @{b}Functions:@{ub}
  1588. Add             to load one or more PlugIns from harddisk
  1589. Delete          to delete the selected PlugIn
  1590. Select          to append the selected operator to the Processor-script
  1591. Cancel          to cancel the selection
  1592. @{b}Operator-PlugIns:@{ub}
  1593. There are five basic types of Operator-PlugIns according to their
  1594. purpose:
  1595.  @{b}Buffer:@{ub} modifying or creating buffers
  1596.    @{" Add             " link opAdd            } Add two images                             @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1597.    @{" Compose         " link opCompose        } Compose two images                         @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1598.    @{" CreateImage     " link opCreateImage    } Create a colored image                     @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1599.    @{" Crop            " link opCrop           } Cut off a rectangular area of an image
  1600.    @{" KillTemp        " link opKillTemp       } Kill a TEMP-buffer
  1601.    @{" LoadImage       " link opLoadImage      } Load an image from harddisk
  1602.    @{" LoadTemp        " link opLoadTemp       } Copy a TEMP-buffer to the main stream
  1603.    @{" Plasma          " link opPlasma         } Create a colored image                     @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1604.    @{" ReplaceComp     " link opReplaceComp    } Replace a color-channel of an image        @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1605.    @{" SaveImage       " link opSaveImage      } Save an image to disk
  1606.    @{" SaveTemp        " link opSaveTemp       } Copy the main stream to a TEMP-buffer
  1607.  @{b}2D-F/X:@{ub} performing 2D-transformations
  1608.    @{" BlackHole       " link opBlackHole      } Deform an image                            @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1609.    @{" Bump            " link opBump           } Add a third dimension to an image          @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  1610.    @{" Cartesian2Polar " link opCartesian2Polar} Transform the coordinates of an image      @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  1611.    @{" Displace        " link opDisplace       } Randomly exchange points of an image       @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  1612.    @{" Flip            " link opFlip           } Mirror an image along various directions   @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  1613.    @{" Halve           " link opHalve          } Quickly halve the dimensionsions of an image
  1614.    @{" Magnet          " link opMagnet         } Deform the image                           @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  1615.    @{" MotionBlur      " link opMotionBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  1616.    @{" Pixelize        " link opPixelize       } Reduce the resolution of an image          @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  1617.    @{" Roll            " link opRoll           } Scroll an image along every direction      @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  1618.    @{" Rotate          " link opRotate         } Rotate (a portion) of the image            @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  1619.    @{" RotateBlur      " link opRotateBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  1620.    @{" Scale           " link opScale          } Scale an image
  1621.    @{" Shear           " link opShear          } Shear the image                            @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  1622.    @{" ShiftLines      " link opShiftLines     } Randomly shift the lines of an image       @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  1623.    @{" Twirl           " link opTwirl          } Deform an image                            @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  1624.    @{" Wave            " link opWave           } Apply a harmonic 2D-Wave to the image      @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  1625.  @{b}Color:@{ub}  applying color-transformations
  1626.    @{" Alpha           " link opAlpha          } Color Changes using an Alpha Channel       @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  1627.    @{" Antique         " link opAntique        } Change the colors to look "antique"        @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  1628.    @{" Balancing       " link opBalancing      } Change the colors using Balancing          @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  1629.    @{" ColorToGray     " link opColorToGray    } Convert an image into grayscale            @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  1630.    @{" Convolve        " link opConvolve       } Apply a convolution-filter                 @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  1631.    @{" Emboss          " link opEmboss         } Change an image to look like made of stone @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  1632.    @{" LUT             " link opLUT            } Change the colors using a LookUpTable      @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  1633.    @{" MedianFilter    " link opMedianFilter   } Apply a medianfilter to an image
  1634.    @{" Negative        " link opNegative       } Turn dark portions into light portions     @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  1635.    @{" Noise           " link opNoise          } Apply random noise to an image             @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  1636.    @{" OilTransfer     " link opOilTransfer    } Change the image to look like "oilpainted" @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  1637.    @{" Posterise       " link opPosterise      } Reduce the color-information of an image   @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  1638.    @{" SwapRGB         " link opSwapRGB        } Swap the color-components of an image      @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  1639.    @{" Threshold       " link opThreshold      } Create alpha channels                      @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  1640.  @{b}3D-F/X:@{ub}   performing complex 3D-transformations on 3D-temp-buffers or images
  1641.    @{" Bump3D          " link opBump3D         } Bump-mapping                               @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  1642.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  1643.    @{" LWOB            " link opLWOB           } Load and draw Lightwave-objects            @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  1644.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  1645.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  1646.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  1647.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  1648.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  1649.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  1650.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  1651.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  1652.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  1653.  @{b}Misc:@{ub}     very special or seldom-used PlugIns
  1654.    @{" ARexx           " link opARexx          } Exchange images with other applications
  1655.    @{" Comment         " link opComment        } Add a comment to the Processor-script
  1656.    @{" Example         " link opExample        } Example for the developer-kit              @{" Example " system "visage wf:doc/pictures/Example.pic"}
  1657.    @{" Raster          " link opRaster         } Apply a black raster to an image           @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  1658.    @{" Text            " link opText           } Render text using various styles           @{" Example " system "visage wf:doc/pictures/Text.pic"}
  1659. Note: After pressing one of the @{" Example " system "visage wf:Motivation2.jpg"}-buttons the program
  1660.       "visage" is started to display a corresponding example.
  1661. @endnode
  1662. @node opAdd
  1663. @{b}Add-Operator@{ub}
  1664. This operator adds or subtracts two images.
  1665. @{b}Parameters@{ub}
  1666. Name        Possible Values/Unit          Description
  1667. @{uu}
  1668. Input1      STREAM, TEMP1, ..., TEMP8     1st source buffer
  1669. Input2      STREAM, TEMP1, ..., TEMP8     2nd source buffer
  1670. Output      STREAM, TEMP1, ..., TEMP8     destination buffer
  1671. Mode        ADD, SUBTRACT                 add or subtract the images
  1672. @endnode
  1673. @node opCompose
  1674. @{b}Compose-Operator@{ub}
  1675. This operator composes two images using several genlock-methods
  1676. and optionaly an alpha-channel.
  1677. @{b}Parameters@{ub}
  1678. Name        Possible Values/Unit                  Description
  1679. @{uu}
  1680. Background  STREAM, TEMP1, ..., TEMP8        background image
  1681. Foreground  STREAM, TEMP1, ..., TEMP8        foreground image
  1682. Destination STREAM, TEMP1, ..., TEMP8        destination buffer
  1683. Alpha       NONE, STREAM, TEMP1, ..., TEMP8  optional alpha buffer
  1684. Left        pixels                           left edge of the foreground image
  1685. Top         pixels                           top edge of the foreground image
  1686. Mix         0...100                          transparency of the foreground image
  1687. CentreX     ON, OFF                          center the foreground horizontally
  1688. CentreY     ON, OFF                          center the foreground vertically
  1689. Red1,       0...255                          genlock-color 1
  1690. Green2,     0...255
  1691. Blue        0...255
  1692. Red2,       0...255                          genlock-color 2
  1693. Green2,     0...255
  1694. Blue2       0...255
  1695. Genlock                                      choose the type of genlock
  1696.             NONE                              no genlock
  1697.             SINGLE COLOR                      normal genlock using color 1
  1698.             INRANGE                           extended genlock using all colors
  1699.                                               inside the range color1...color2
  1700.             OUTRANGE                          extended genlock using all colors
  1701.                                               outside the range color1...color2
  1702. @endnode
  1703. @node opCreateImage
  1704. @{b}CreateImage-Operator@{ub}
  1705. This operator creates an image with an optional color-transition.
  1706. @{b}Parameters@{ub}
  1707. Name        Possible Values/Unit            Description
  1708. @{uu}
  1709. Output      STREAM, TEMP1, ..., TEMP8  output-buffer
  1710. Width       pixels                     width of the generated image
  1711. Height      pixels                     height of the generated image
  1712. Palette     (gadget)                   select one of the four edges
  1713. Red,        0...255                    color of the selected edge
  1714. Green,      0...255
  1715. Blue        0...255
  1716. HCopy       (gadget)                   copy the selected color horizontally
  1717. VCopy       (gadget)                   copy the selected color vertically
  1718. HVCopy      (gadget)                   apply the selected color to all four edges
  1719. @endnode
  1720. @node opCrop
  1721. @{b}Crop-Operator@{ub}
  1722. This operator cuts out a rectangular area of an image.
  1723. @{b}Parameters@{ub}
  1724. Name        Possible Values/Unit            Description
  1725. @{uu}
  1726. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1727. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1728. Left        pixels                     left edge of the rectangle
  1729. Top         pixels                     top edge of the rectangle
  1730. Width       pixels                     width of the rectangle
  1731. Height      pixels                     height of the rectangle
  1732. @endnode
  1733. @node opKillTemp
  1734. @{b}KillTemp-Operator@{ub}
  1735. This operator clears a TEMP-buffer and frees it's memory.
  1736. @{b}Parameters@{ub}
  1737. Name        Possible Values/Unit      Description
  1738. @{uu}
  1739. Buffer      TEMP1, ... TEMP8     TEMP-buffer to kill
  1740. @endnode
  1741. @node opLoadImage
  1742. @{b}LoadImage-Operator@{ub}
  1743. This operator loads an image or an image-sequence from disk.
  1744. @{b}Parameters@{ub}
  1745. Name        Possible Values/Unit            Description
  1746. @{uu}
  1747. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1748. Sequence    string                     complete filename of an single image
  1749.                                        or base-filename of an image-sequence
  1750. Loop        integer                    length of the image-sequence
  1751. Shift       integer                    shift-value for the filenames of an image-sequence
  1752. Show        (gadget)                   show the selected image
  1753. @endnode
  1754. @node opLoadTemp
  1755. @{b}LoadTemp-Operator@{ub}
  1756. This operator replaces the input-stream with a TEMP-buffer.
  1757. @{b}Parameters@{ub}
  1758. Name        Possible Values/Unit         Description
  1759. @{uu}
  1760. Buffer      TEMP1, ... TEMP8        TEMP-buffer which holds the image
  1761.                                     to apply
  1762. @endnode
  1763. @node opPlasma
  1764. @{b}Plasma-Operator@{ub}
  1765. This operator creates an image using a fractal algorithm.
  1766. @{b}Parameters@{ub}
  1767. Name        Possible Values/Unit            Description
  1768. @{uu}
  1769. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1770. Width       pixels                     width of the generated image
  1771. Height      pixels                     height of the generated image
  1772. Dimension   integer                    fractal dimension which affects the
  1773.                                        smoothness of the fractal
  1774. Seed        integer                    parameter which affects the shape
  1775. @endnode
  1776. @node opReplaceComp
  1777. @{b}ReplaceComp-Operator@{ub}
  1778. This operator replaces a color-channel of an image with the
  1779. red-channel of an other image. The main purpose of this
  1780. PlugIn is to create Stereo-3D-Images.
  1781. @{b}Parameters@{ub}
  1782. Name        Possible Values/Unit            Description
  1783. @{uu}
  1784. Input1      STREAM, TEMP1, ..., TEMP8  input buffer
  1785. Input2      STREAM, TEMP1, ..., TEMP8  image which replaces the selected channel
  1786. Output      STREAM, TEMP1, ..., TEMP8  output buffer
  1787. Component   RED, GREEN, BLUE           color-channel to replace
  1788. @endnode
  1789. @node opSaveImage
  1790. @{b}SaveImage-Operator@{ub}
  1791. This operator saves images to harddisk.
  1792. @{b}Parameters@{ub}
  1793. Name        Possible Values/Unit            Description
  1794. @{uu}
  1795. Input       STREAM, TEMP1, ..., TEMP8  image to save
  1796. File        string                     filename
  1797. Numbering   string                     C-formatstring, if this string is
  1798.                                        non-empty the current frame-number
  1799.                                        is appended to filename
  1800. @endnode
  1801. @node opSaveTemp
  1802. @{b}SaveTemp-Operator@{ub}
  1803. This operator copies the content of the input-stream to a TEMP-buffer.
  1804. @{b}Parameters@{ub}
  1805. Name        Possible Values/Unit        Description
  1806. @{uu}
  1807. Buffer      TEMP1, ... TEMP8       Buffer to copy to
  1808. @endnode
  1809. @node opBlackHole
  1810. @{b}BlackHole-Operator@{ub}
  1811. This operator contracts the whole image.
  1812. @{b}Parameters@{ub}
  1813. Name        Possible Values/Unit            Description
  1814. @{uu}
  1815. Input       STREAM, TEMP1, ..., TEMP8  input buffer
  1816. Ouput       STREAM, TEMP1, ..., TEMP8  output buffer
  1817. CentreX,    pixels                     centre of the effect
  1818. CentreY     pixels
  1819. Amount      pixels                     amount, large values may cause the
  1820.                                        whole image to disappear
  1821. Radius      pixels                     parameter affecting the local deformation
  1822. Zoom        -10.0...10.0               zoom-factor for the whole image
  1823. @endnode
  1824. @node opCartesian2Polar
  1825. @{b}Cartesian2Polar-Operator@{ub}
  1826. This operator transforms the cartesian image-coordinates into
  1827. polar coordinates.
  1828. @{b}Parameters@{ub}
  1829. Name        Possible Values/Unit          Description
  1830. @{uu}
  1831. Input       STREAM, TEMP1, ..., TEMP8     input buffer
  1832. Output      STREAM, TEMP1, ..., TEMP8     output buffer
  1833. R0          pixels                        starting radius
  1834. Phi0        degrees                       starting angle
  1835. Zoom        -10.0...10.0                  zoom factor for the whole image
  1836. @endnode
  1837. @node opDisplace
  1838. @{b}Displace-Operator@{ub}
  1839. This operator swaps points of an image randomly.
  1840. @{b}Parameters@{ub}
  1841. Name        Possible Values/Unit            Description
  1842. @{uu}
  1843. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1844. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1845. Radius      pixels                          largest distance between two
  1846.                                             points to swap
  1847. Probability 0...100                         probability of swapping in
  1848.                                             percent
  1849. Seed        integer                         start-value for the random
  1850.                                             number generator
  1851. @endnode
  1852. @node opFlip
  1853. @{b}Flip-Operator@{ub}
  1854. This operator mirrors an image along a specified axis.
  1855. @{b}Parameters@{ub}
  1856. Name        Possible Values/Unit            Description
  1857. @{uu}
  1858. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1859. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1860. Axis        X, Y, XY                        mirror-axis
  1861. @endnode
  1862. @node opHalve
  1863. @{b}Halve-Operator@{ub}
  1864. This operator halves the dimensions of an image.
  1865. @{b}Parameters@{ub}
  1866. Name        Possible Values/Unit            Description
  1867. @{uu}
  1868. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1869. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1870. @endnode
  1871. @node opMagnet
  1872. @{b}Magnet-Operator@{ub}
  1873. This operator applies a local contraction or expansion to an image.
  1874. @{b}Parameters@{ub}
  1875. Name        Possible Values/Unit            Description
  1876. @{uu}
  1877. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1878. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1879. CentreX     pixels                          centre of the effect
  1880. CentreY     pixels
  1881. Amount      pixels (about -20...20)         amount of the deformation, positive values
  1882.                                             cause a contraction, negative an expansion
  1883. Damping     float                           parameter which controls the fall-off
  1884.                                             of the deformation
  1885. Zoom        -10.0...10.0                    zoom-factor for the whole image
  1886. @endnode
  1887. @node opMotionBlur
  1888. @{b}MotionBlur-Operator@{ub}
  1889. This operator applies a touch of motion to an image.
  1890. @{b}Parameters@{ub}
  1891. Name        Possible Values/Unit            Description
  1892. @{uu}
  1893. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1894. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1895. DeltaX,     pixels                          direction and amount of the effect
  1896. DeltaY      pixels
  1897. @endnode
  1898. @node opPixelize
  1899. @{b}Pixelize-Operator@{ub}
  1900. This operator reduces the resolution of an image creating
  1901. rectangles.
  1902. @{b}Parameters@{ub}
  1903. Name        Possible Values/Unit            Description
  1904. @{uu}
  1905. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1906. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1907. Width       pixels                          width of the rectangles to create
  1908. Height      pixels                          height of the rectangles to create
  1909. Centre      ON, OFF                         centre the rectangles, this options should be
  1910.                                             switched off if the size of the rectangle
  1911.                                             varies with time
  1912. Grid        OFF, XY, X, Y                   type of the optional grid to create
  1913. Size        pixels                          thickness of the grid to create
  1914. Red,        0...255                         base color of the grid
  1915. Green,      0...255
  1916. Blue        0...255
  1917. DLeft,      0.0...1.0                       color variation of the grid to produce
  1918. DRight      0.0...1.0                       a threedimensional look
  1919. DTop        0.0...1.0
  1920. DBottom     0.0...1.0
  1921. @endnode
  1922. @node opRoll
  1923. @{b}Roll-Operator@{ub}
  1924. This operator scrolls an image into a specified direction.
  1925. @{b}Parameters@{ub}
  1926. Name        Possible Values/Unit            Description
  1927. @{uu}
  1928. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1929. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1930. DeltaX,     pixels                          scroll direction and amount
  1931. DeltaY      pixels
  1932. Wrap        ON, OFF                         toggle wrapping on/off
  1933. @endnode
  1934. @node opRotate
  1935. @{b}Rotate-Operator@{ub}
  1936. This operator rotates a circular region of an image.
  1937. @{b}Parameters@{ub}
  1938. Name        Possible Values/Unit            Description
  1939. @{uu}
  1940. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1941. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1942. CentreX,    pixels                          centre of the circle
  1943. CentreY     pixels
  1944. Radius      pixels                          radius of the circle
  1945. Amount      degrees                         rotate-angle
  1946. Zoom        -10.0...10.0                    zoom-factor for the rotated region
  1947. @endnode
  1948. @node opRotateBlur
  1949. @{b}RotateBlur-Operator@{ub}
  1950. This operator adds a touch of motion to an image.
  1951. @{b}Parameters@{ub}
  1952. Name        Possible Values/Unit            Description
  1953. @{uu}
  1954. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1955. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1956. CentreX,    pixels                          centre of the blurred circle
  1957. CentreY     pixels
  1958. Radius      pixels                          radius of the circle
  1959. Amount      degrees                         blur-amount, large-values like 60
  1960.                                             cause a very long computation time
  1961. @endnode
  1962. @node opScale
  1963. @{b}Scale-Operator@{ub}
  1964. This operator scales up or down images.
  1965. @{b}Parameters@{ub}
  1966. Name        Possible Values/Unit            Description
  1967. @{uu}
  1968. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1969. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1970. Width       pixels/percent                  horizontal size of the generated image
  1971. Height      pixels/percent                  vertical size of the generated image
  1972. Type        PIXELS, PERCENT                 choose if the size-values are in pixels or percent
  1973. Aspect                                      choose if you want to keep the aspect or not
  1974.             IGNORE                           scale the image to the specified values
  1975.             TAKEWIDTH                        scale the image to the specified width-value
  1976.                                              and a computed height-value keeping the aspect
  1977.             TAKEHEIGHT                       scale the image to specified height-value
  1978.                                              and computed width-value keeping the aspect
  1979. @endnode
  1980. @node opShear
  1981. @{b}Shear-Operator@{ub}
  1982. This operator shears an image with additional damping.
  1983. @{b}Parameters@{ub}
  1984. Name        Possible Values/Unit            Description
  1985. @{uu}
  1986. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  1987. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  1988. OriginX,    pixels                          shear-centre where no damping occurs
  1989. OriginY     pixels
  1990. Amount      pixels                          shear-amount
  1991. Zoom        -10.0...10.0                    zoom-value for the whole image
  1992. Axis        X, Y                            shear-direction
  1993. Damping     ON, OFF                         toggle damping on/off
  1994. Damping     float                           damping-value
  1995. @endnode
  1996. @node opShiftLines
  1997. @{b}ShiftLines-Operator@{ub}
  1998. This operator shifts the lines of an image with optional
  1999. jitter-effect.
  2000. @{b}Parameters@{ub}
  2001. Name        Possible Values/Unit            Description
  2002. @{uu}
  2003. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2004. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2005. Direction   X, Y                            shift-direction
  2006. Jitter      ON, OFF                         toggle jitter on/off
  2007. Shift       pixels                          shift-value
  2008. Amount      pixels                          jitter-amount
  2009. Probability 0...100                         probability for the jitter-effect
  2010. Seed        integer                         start -value for the random number generator
  2011. @endnode
  2012. @node opTwirl
  2013. @{b}Twirl-Operator@{ub}
  2014. This operator applies a nonlinear deformation to an image.
  2015. @{b}Parameters@{ub}
  2016. Name        Possible Values/Unit            Description
  2017. @{uu}
  2018. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2019. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2020. FallOff     IN, OUT                         radial direction of the fall-off of
  2021.                                             the deformation
  2022. CentreX,    pixels                          centre of the effect
  2023. CentreY     pixels
  2024. Radius      pixels                          radius of the affected circular region of the image
  2025. Amount      degrees                         twirl amount, very large value like 1000 are allowed
  2026. Power       float                           parameter describing the local deformation, large
  2027.                                             values like 6.0 concentrate the deformation around
  2028.                                             the centre of the circle
  2029. Zoom        -10.0...10.0                    zoom-factor for the affected circular region
  2030. @endnode
  2031. @node opWave
  2032. @{b}Wave-Operator@{ub}
  2033. This operator applies a harmonic wave to an image.
  2034. @{b}Parameters@{ub}
  2035. Name        Possible Values/Unit            Description
  2036. @{uu}
  2037. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2038. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2039. CentreX,    pixels                          centre of the wave, the point 
  2040. CentreY     pixels                          with no damping
  2041. Amplitude   pixels                          amplitude of the wave
  2042. Phase       degrees                         phase of the wave
  2043. Wavelength  pixels                          wavelength
  2044. Shift       pixels                          diagonal-shift-parameter
  2045. Zoom        -10.0...10.0                    zoom-value for the whole image
  2046. Damping     ON, OFF                         toggle damping on/off
  2047. Damping     float                           damping-value
  2048. Axis        X, Y                            wave-direction
  2049. Frame       integer>0                       current frame
  2050. Frames      integer>0                       frame-number describing a whole cycle
  2051. @endnode
  2052. @node opAlpha
  2053. @{b}Alpha-Operator@{ub}
  2054. This operator modifies the brightness of an image using
  2055. an alpha-channel.
  2056. @{b}Parameters@{ub}
  2057. Name        Possible Values/Unit            Description
  2058. @{uu}
  2059. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2060. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2061. Alpha       STREAM, TEMP1, ..., TEMP8       alpha buffer
  2062. Left        pixels                          left edge of the alpha image
  2063. Top         pixels                          top edge of the alpha image
  2064. @endnode
  2065. @node opAntique
  2066. @{b}Antique-Operator@{ub}
  2067. This operator turns the colors of an image to look "anitique".
  2068. @{b}Parameters@{ub}
  2069. Name        Possible Values/Unit            Description
  2070. @{uu}
  2071. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2072. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2073. @endnode
  2074. @node opBalancing
  2075. @{b}Balancing-Operator@{ub}
  2076. This operator performs some balancing operations.
  2077. @{b}Parameters@{ub}
  2078. Name        Possible Values/Unit            Description
  2079. @{uu}
  2080. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2081. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2082. Red         -255...255                      shift-value for the red component
  2083. Green       -255...255                      shift-value for the green component
  2084. Blue        -255...255                      shift-value for the green component
  2085. Contrast    -255...255                      contrast-value, negative values decrease the contrast
  2086. Bright      -255...255                      shift value for all color-channels
  2087. Gamma       -255...255                      gamma-value
  2088. @endnode
  2089. @node opColorToGray
  2090. @{b}ColorToGray-Operator@{ub}
  2091. This operator converts an image into grayscale.
  2092. @{b}Parameters@{ub}
  2093. Name        Possible Values/Unit            Description
  2094. @{uu}
  2095. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2096. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2097. Weights                                     weight of the red, green and blue component
  2098.             LUMINANCE                        use luminance weights
  2099.             AVERAGE                          use for all components the same weight
  2100.             CUSTOM                           use custom weights
  2101. Red,        0...10000                        custom weights, the sum of this
  2102. Green,      0...10000                        three values should be 10000
  2103. Blue        0...10000
  2104. @endnode
  2105. @node opConvolve
  2106. @{b}Convolve-Operator@{ub}
  2107. This operator applies a 3x3- or 5x5 convolution-matrix to an image.
  2108. @{b}Parameters@{ub}
  2109. Name        Possible Values/Unit            Description
  2110. @{uu}
  2111. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2112. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2113. Mix         0...100                         intensity of the generated effect
  2114. Shift       -255...255                      shift-value which is applied to the 
  2115.                                             result for each pixel, this makes it for 
  2116.                                             example possible to turn negative results 
  2117.                                             into the valid range 0...255 without 
  2118.                                             loosing details
  2119. Size        3x3, 5x5                        toggle the size of the matrix
  2120. File        string                          filename for loading/saving a matrix
  2121. Load        (gadget)                        load a matrix in Wildfire's or ADPro's format
  2122. Save        (gadget)                        save the current matrix to disk
  2123. @endnode
  2124. @node opEmboss
  2125. @{b}Emboss-Operator@{ub}
  2126. This operator converts an image in a gray relief
  2127. @{b}Parameters@{ub}
  2128. Name        Possible Values/Unit            Description
  2129. @{uu}
  2130. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2131. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2132. Direction   NORTHWEST, NORTHEAST,           direction of the "lightsource", different
  2133.             SOUTHEST, SOUTHEAST             directions may cause results looking extremely
  2134.                                             different
  2135. @endnode
  2136. @node opLUT
  2137. @{b}LUT-Operator@{ub}
  2138. This operator applies a LookUpTable to an image.
  2139. Unlike to all other image-processors LUT's are represented
  2140. by Envelopes and can be morphed !
  2141. There are 6 Envelopes: a Start- and an End-Envelope for every
  2142. component. After specifying the number of frames the Start-Envelope
  2143. is morphed into the End-Envelope. Different point-counts
  2144. are possible.
  2145. @{b}Parameters@{ub}
  2146. Name        Possible Values/Unit            Description
  2147. @{uu}
  2148. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2149. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2150. Mode        EDIT, VIEW                      toggle Edit/View-mode
  2151. Type        LINEAR, SPLINE, BEZIER          type of the spline of the current channel
  2152. Component   R, G, B                         current component
  2153. RGB         (gadget)                        apply the current Envelope to all components
  2154. Preset      (may change)                    choose a preset
  2155. Apply       (gadget)                        apply the selected preset to the current component
  2156. Position    START, END                      modify the Start- or the End-Envelope
  2157. Both        (gadget)                        apply the Envelope of the current component as
  2158.                                             End- and as Start-Envelope
  2159. Frames      integer>0                       number of frames used for morphing
  2160. Frame       integer>0                       current frame displayed in view-mode
  2161. MirrorX     (gadget)                        mirror the current Envelope along the x-axis
  2162. MirrorY     (gadget)                        mirror the current Envelope along the y-axis
  2163. MirrorXY    (gadget)                        flip the current Envelope along the diagonal
  2164. MoveX       (gadget)                        shift the current Envelope by the specified amount in x-direction
  2165. MoveY       (gadget)                        shift the current Envelope by the specified amount in y-direction
  2166. Amount      integer                         shift-value
  2167. File        string                          file used for loading/saving envelopes
  2168. Load        (gadget)                        load an Envelope
  2169. Save        (gadget)                        save the current Envelope to disk
  2170. There are two modes: the View- and the Edit-mode. In Edit-mode
  2171. all changes are applied, in view mode the morphing of the
  2172. splines is visualized. In this mode you can change the current-frame-
  2173. number both using the scrollbar and the "Frame"-gadget.
  2174. If you want to create your Envelopes using the @{"Envelope-Window" link EnvelopeWindow}
  2175. the only restriction is that all values must be in the range 0..255.
  2176. The first point must have the x-coordinate 0, the last one the
  2177. coordinate 255.
  2178. @endnode
  2179. @node opMedianFilter
  2180. @{b}MedianFilter-Operator@{ub}
  2181. This operator applies a median-filter to the image.
  2182. (In the most cases there will be no visible change.)
  2183. @{b}Parameters@{ub}
  2184. Name        Possible Values/Unit            Description
  2185. @{uu}
  2186. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2187. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2188. Rect        pixels                          size of the rectangle scanned 
  2189.                                             for every pixel
  2190. @endnode
  2191. @node opNegative
  2192. @{b}Negative-Operator@{ub}
  2193. This operator turns the colors of an image into negative ones.
  2194. @{b}Parameters@{ub}
  2195. Name        Possible Values/Unit            Description
  2196. @{uu}
  2197. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2198. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2199. @endnode
  2200. @node opNoise
  2201. @{b}Noise-Operator@{ub}
  2202. This operator applies random noise to an image.
  2203. @{b}Parameters@{ub}
  2204. Name        Possible Values/Unit            Description
  2205. @{uu}
  2206. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2207. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2208. Intensity   color                           intensity of the noise
  2209. Probability 0...100                         noise-probability
  2210. Seed        integer                         start-value for the random 
  2211.                                             number generator
  2212. @endnode
  2213. @node opOilTransfer
  2214. @{b}OilTransfer-Operator@{ub}
  2215. This operator applies the OilTransfer-algorithm to an image.
  2216. @{b}Parameters@{ub}
  2217. Name        Possible Values/Unit            Description
  2218. @{uu}
  2219. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2220. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2221. Rect        pixels                          size of the rectangle scanned for 
  2222.                                             every pixel
  2223. @endnode
  2224. @node opPosterise
  2225. @{b}Posterise-Operator@{ub}
  2226. This operator reduces the number of bits per byte for every pixel
  2227. of the image.
  2228. @{b}Parameters@{ub}
  2229. Name        Possible Values/Unit            Description
  2230. @{uu}
  2231. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2232. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2233. Bits        1...7                           number of bits per byte, a value of 8 
  2234.                                             would cause no change
  2235. @endnode
  2236. @node opSwapRGB
  2237. @{b}SwapRGB-Operator@{ub}
  2238. This operator swaps the color-channels of an image
  2239. @{b}Parameters@{ub}
  2240. Name        Possible Values/Unit            Description
  2241. @{uu}
  2242. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2243. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2244. Mode        RBG, GRB, GBR, BRG, BGR         swap-mode
  2245. @endnode
  2246. @node opThreshold
  2247. @{b}Threshold-Operator@{ub}
  2248. This operator converts an image into black&white using a grayscale-level,
  2249. this may be especially useful for the creation of alpha-channels.
  2250. @{b}Parameters@{ub}
  2251. Name        Possible Values/Unit            Description
  2252. @{uu}
  2253. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2254. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2255. Level       0...255                         grayscale-level, all pixels with a
  2256.                                             brightness higher than this value
  2257.                                             are turned into white ones, all other
  2258.                                             are cleared
  2259. @endnode
  2260. @node opBump
  2261. @{b}Bump-Operator@{ub}
  2262. This operator uses a 2nd image to add height-information which
  2263. is visualized using a single lightsoure to an image.
  2264. @{b}Parameters@{ub}
  2265. Name        Possible Values/Unit            Description
  2266. @{uu}
  2267. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2268. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2269. HeightMap   STREAM, TEMP1, ..., TEMP8       image used to create the height-information
  2270. Amount      integer                         height-value corresponding to a brightness of 255
  2271. LightX,     pixels                          coordinates of the lightsource
  2272. LightY,     pixels
  2273. LightZ      pixels
  2274. Intensity   float                           light-intensity (1.0=normal)
  2275. Left        pixels                          left edge of the height-map
  2276. Top         pixels                          top edge of the height-map
  2277. @endnode
  2278. @node opCube
  2279. @{b}Cube-Operator@{ub}
  2280. This operator wraps an image or a 3d-temp-buffer onto a cube.
  2281. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2282. parameters are splitted into two sections.
  2283. The first section contains the render settings like the rotation-angle,
  2284. the light-parameters or the camera-position. All this settings
  2285. are disabled if the output-channel is a 3d-temp-buffer instead of
  2286. an image-buffer.
  2287. The second section contains the parameters of the particular effect.
  2288. @{b}Parameters@{ub}
  2289. Name        Possible Values/Unit            Description
  2290. @{uu}
  2291. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2292.             TEMP3D1, ..., TEMP3D4
  2293. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2294.             TEMP3D1, ..., TEMP3D4
  2295. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2296.                                             is used for the last time and can be modified
  2297.                                             directly to conserve both memory and time
  2298. Zoom        -10.0...10.0                    zoom factor for the whole image
  2299. CentreX,    pixels                          centre for zooming and rotating
  2300. CentreY     pixels
  2301. CamX,       pixels                          camera-position
  2302. CamY,       pixels
  2303. CamZ        pixels
  2304. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2305. Alpha       degrees                         first rotation angle
  2306. Beta        degrees                         second rotation angle
  2307. Light       ON, OFF                         toggle light on/off
  2308. LightX,     pixels                          light-position
  2309. Intensity   float                           light-intensity (1.0=normal)
  2310. Ambient     0.0...1.0                       intensity of the ambient light
  2311. Hardness    0.6...1.0                       add gloss to the surface
  2312. To simplify the selection of the right view the camera-position is
  2313. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2314. of the generated object into the xy-plane and the camZ-value only
  2315. affects the perspective distortion. The object-size can be adjusted by
  2316. the zoom-parameter.
  2317. This makes it very easy to create effects starting from an untransformed
  2318. image. The camZ-values must be always in the range -100...-10000.
  2319. Small values like -200 cause "strange" views, large values like
  2320. -1000 cause the generation of a nearly parallel view. The actual limits
  2321. depend on the image-size but the preset-value of -800 should always
  2322. produce a "normal 3d-look".
  2323. Name        Possible Values/Unit            Description
  2324. @{uu}
  2325. Size        pixels                          size of the cube
  2326. The image is sliced into 6 parts (2 rows, 3 columns) which are mapped
  2327. onto the six surfaces of the cube.
  2328. To create a cube with 6 different images simply compose them together
  2329. and use the result as input for the Cube-operator.
  2330. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2331. from within the Processor-Window.
  2332. @endnode
  2333. @node opSphere
  2334. @{b}Sphere-Operator@{ub}
  2335. This operator wraps an image or 3d-temp-buffer onto a complete sphere.
  2336. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2337. parameters are splitted into two sections.
  2338. The first section contains the render settings like the rotation-angle,
  2339. the light-parameters or the camera-position. All this settings
  2340. are disabled if the output-channel is a 3d-temp-buffer instead of
  2341. an image-buffer.
  2342. The second section contains the parameters of the particular effect.
  2343. @{b}Parameters@{ub}
  2344. Name        Possible Values/Unit            Description
  2345. @{uu}
  2346. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2347.             TEMP3D1, ..., TEMP3D4
  2348. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2349.             TEMP3D1, ..., TEMP3D4
  2350. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2351.                                             is used for the last time and can be modified
  2352.                                             directly to conserve both memory and time
  2353. Zoom        -10.0...10.0                    zoom factor for the whole image
  2354. CentreX,    pixels                          centre for zooming and rotating
  2355. CentreY     pixels
  2356. CamX,       pixels                          camera-position
  2357. CamY,       pixels
  2358. CamZ        pixels
  2359. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2360. Alpha       degrees                         first rotation angle
  2361. Beta        degrees                         second rotation angle
  2362. Light       ON, OFF                         toggle light on/off
  2363. LightX,     pixels                          light-position
  2364. Intensity   float                           light-intensity (1.0=normal)
  2365. Ambient     0.0...1.0                       intensity of the ambient light
  2366. Hardness    0.6...1.0                       add gloss to the surface
  2367. To simplify the selection of the right view the camera-position is
  2368. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2369. of the generated object into the xy-plane and the camZ-value only
  2370. affects the perspective distortion. The object-size can be adjusted by
  2371. the zoom-parameter.
  2372. This makes it very easy to create effects starting from an untransformed
  2373. image. The camZ-values must be always in the range -100...-10000.
  2374. Small values like -200 cause "strange" views, large values like
  2375. -1000 cause the generation of a nearly parallel view. The actual limits
  2376. depend on the image-size but the preset-value of -800 should always
  2377. produce a "normal 3d-look".
  2378. Name        Possible Values/Unit            Description
  2379. @{uu}
  2380. Radius                  radius of the sphere                   (in pixels)
  2381. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2382. from within the Processor-Window.
  2383. @endnode
  2384. @node opTwirl3D
  2385. @{b}Twirl3D-Operator@{ub}
  2386. This operator performs a Twirl-effect to an image or 3d-temp-buffer
  2387. along a selected axis.
  2388. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2389. parameters are splitted into two sections.
  2390. The first section contains the render settings like the rotation-angle,
  2391. the light-parameters or the camera-position. All this settings
  2392. are disabled if the output-channel is a 3d-temp-buffer instead of
  2393. an image-buffer.
  2394. The second section contains the parameters of the particular effect.
  2395. @{b}Parameters@{ub}
  2396. Name        Possible Values/Unit            Description
  2397. @{uu}
  2398. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2399.             TEMP3D1, ..., TEMP3D4
  2400. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2401.             TEMP3D1, ..., TEMP3D4
  2402. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2403.                                             is used for the last time and can be modified
  2404.                                             directly to conserve both memory and time
  2405. Zoom        -10.0...10.0                    zoom factor for the whole image
  2406. CentreX,    pixels                          centre for zooming and rotating
  2407. CentreY     pixels
  2408. CamX,       pixels                          camera-position
  2409. CamY,       pixels
  2410. CamZ        pixels
  2411. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2412. Alpha       degrees                         first rotation angle
  2413. Beta        degrees                         second rotation angle
  2414. Light       ON, OFF                         toggle light on/off
  2415. LightX,     pixels                          light-position
  2416. Intensity   float                           light-intensity (1.0=normal)
  2417. Ambient     0.0...1.0                       intensity of the ambient light
  2418. Hardness    0.6...1.0                       add gloss to the surface
  2419. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2420. To simplify the selection of the right view the camera-position is
  2421. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2422. of the generated object into the xy-plane and the camZ-value only
  2423. affects the perspective distortion. The object-size can be adjusted by
  2424. the zoom-parameter.
  2425. This makes it very easy to create effects starting from an untransformed
  2426. image. The camZ-values must be always in the range -100...-10000.
  2427. Small values like -200 cause "strange" views, large values like
  2428. -1000 cause the generation of a nearly parallel view. The actual limits
  2429. depend on the image-size but the preset-value of -800 should always
  2430. produce a "normal 3d-look".
  2431. Name        Possible Values/Unit            Description
  2432. @{uu}
  2433. Axis        X, Y, Z                         axis to rotate around
  2434. Radius      pixels                          twirl-radius
  2435. Amount      degress                         twirl amount, very large values
  2436.                                             like 1000 are allowed
  2437. Power       float                           parameter describing the local
  2438.                                             deformation, large values like 6 concentrate
  2439.                                             the deformation around the centre of the circle
  2440. OriginX,    pixels                          centre of the effect
  2441. OriginY,    pixels
  2442. OriginZ     pixels
  2443. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2444. from within the Processor-Window.
  2445. @endnode
  2446. @node opTwist
  2447. @{b}Twist-Operator@{ub}
  2448. This operator rotates a image along a specified axis with
  2449. varying rotation-angle to create a helix-like shape.
  2450. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2451. parameters are splitted into two sections.
  2452. The first section contains the render settings like the rotation-angle,
  2453. the light-parameters or the camera-position. All this settings
  2454. are disabled if the output-channel is a 3d-temp-buffer instead of
  2455. an image-buffer.
  2456. The second section contains the parameters of the particular effect.
  2457. @{b}Parameters@{ub}
  2458. Name        Possible Values/Unit            Description
  2459. @{uu}
  2460. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2461.             TEMP3D1, ..., TEMP3D4
  2462. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2463.             TEMP3D1, ..., TEMP3D4
  2464. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2465.                                             is used for the last time and can be modified
  2466.                                             directly to conserve both memory and time
  2467. Zoom        -10.0...10.0                    zoom factor for the whole image
  2468. CentreX,    pixels                          centre for zooming and rotating
  2469. CentreY     pixels
  2470. CamX,       pixels                          camera-position
  2471. CamY,       pixels
  2472. CamZ        pixels
  2473. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2474. Alpha       degrees                         first rotation angle
  2475. Beta        degrees                         second rotation angle
  2476. Light       ON, OFF                         toggle light on/off
  2477. LightX,     pixels                          light-position
  2478. Intensity   float                           light-intensity (1.0=normal)
  2479. Ambient     0.0...1.0                       intensity of the ambient light
  2480. Hardness    0.6...1.0                       add gloss to the surface
  2481. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2482. To simplify the selection of the right view the camera-position is
  2483. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2484. of the generated object into the xy-plane and the camZ-value only
  2485. affects the perspective distortion. The object-size can be adjusted by
  2486. the zoom-parameter.
  2487. This makes it very easy to create effects starting from an untransformed
  2488. image. The camZ-values must be always in the range -100...-10000.
  2489. Small values like -200 cause "strange" views, large values like
  2490. -1000 cause the generation of a nearly parallel view. The actual limits
  2491. depend on the image-size but the preset-value of -800 should always
  2492. produce a "normal 3d-look".
  2493. Name        Possible Values/Unit            Description
  2494. @{uu}
  2495. Axis        X, Y, Z                         axis to rotate around
  2496. Amount      degrees                         maximum rotate-angle
  2497. Dist        pixels                          distance of the effect
  2498. OriginX,    pixels                          the point at which the rotation starts
  2499. OriginY,    pixels
  2500. OriginZ     pixels
  2501. Negative Dist-values are allowed and cause the propagation
  2502. along the opposite direction.
  2503. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2504. from within the Processor-Window.
  2505. @endnode
  2506. @node opMagnet3D
  2507. @{b}Magnet3D-Operator@{ub}
  2508. This operator simulates the dragging of a point of the input-image
  2509. or -3d-temp-buffer using a model of plasticity. This makes it possible
  2510. to add a third dimension to selected parts of an image.
  2511. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2512. parameters are splitted into two sections.
  2513. The first section contains the render settings like the rotation-angle,
  2514. the light-parameters or the camera-position. All this settings
  2515. are disabled if the output-channel is a 3d-temp-buffer instead of
  2516. an image-buffer.
  2517. The second section contains the parameters of the particular effect.
  2518. @{b}Parameters@{ub}
  2519. Name        Possible Values/Unit            Description
  2520. @{uu}
  2521. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2522.             TEMP3D1, ..., TEMP3D4
  2523. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2524.             TEMP3D1, ..., TEMP3D4
  2525. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2526.                                             is used for the last time and can be modified
  2527.                                             directly to conserve both memory and time
  2528. Zoom        -10.0...10.0                    zoom factor for the whole image
  2529. CentreX,    pixels                          centre for zooming and rotating
  2530. CentreY     pixels
  2531. CamX,       pixels                          camera-position
  2532. CamY,       pixels
  2533. CamZ        pixels
  2534. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2535. Alpha       degrees                         first rotation angle
  2536. Beta        degrees                         second rotation angle
  2537. Light       ON, OFF                         toggle light on/off
  2538. LightX,     pixels                          light-position
  2539. Intensity   float                           light-intensity (1.0=normal)
  2540. Ambient     0.0...1.0                       intensity of the ambient light
  2541. Hardness    0.6...1.0                       add gloss to the surface
  2542. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2543. To simplify the selection of the right view the camera-position is
  2544. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2545. of the generated object into the xy-plane and the camZ-value only
  2546. affects the perspective distortion. The object-size can be adjusted by
  2547. the zoom-parameter.
  2548. This makes it very easy to create effects starting from an untransformed
  2549. image. The camZ-values must be always in the range -100...-10000.
  2550. Small values like -200 cause "strange" views, large values like
  2551. -1000 cause the generation of a nearly parallel view. The actual limits
  2552. depend on the image-size but the preset-value of -800 should always
  2553. produce a "normal 3d-look".
  2554. Name        Possible Values/Unit            Description
  2555. @{uu}
  2556. SrcX,       pixels                          coordinates of the point to drag
  2557. SrcY,       pixels
  2558. SrcZ        pixels
  2559. DestX,      pixels                          destination of the point
  2560. DestY,      pixels
  2561. DestZ       pixels
  2562. Shape       SMOOTH, SHARP                   selects the kind of deformation
  2563. Strength    float                           represents the elasticity of the material,
  2564.                                             larger values like 5.0 will cause the deformation
  2565.                                             of only a part of the object, small values like 0.1
  2566.                                             will cause the deformation of the whole object
  2567. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2568. from within the Processor-Window.
  2569. @endnode
  2570. @node opTransform3D
  2571. @{b}Transform3D-Operator@{ub}
  2572. This operator performs some standard 3d-transformations on
  2573. images or 3d-temp-buffers. This makes it for example possible
  2574. to deform a sphere into a lens or to apply other 3d-effects
  2575. along any axis.
  2576. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2577. parameters are splitted into two sections.
  2578. The first section contains the render settings like the rotation-angle,
  2579. the light-parameters or the camera-position. All this settings
  2580. are disabled if the output-channel is a 3d-temp-buffer instead of
  2581. an image-buffer.
  2582. The second section contains the parameters of the particular effect.
  2583. @{b}Parameters@{ub}
  2584. Name        Possible Values/Unit            Description
  2585. @{uu}
  2586. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2587.             TEMP3D1, ..., TEMP3D4
  2588. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2589.             TEMP3D1, ..., TEMP3D4
  2590. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2591.                                             is used for the last time and can be modified
  2592.                                             directly to conserve both memory and time
  2593. Zoom        -10.0...10.0                    zoom factor for the whole image
  2594. CentreX,    pixels                          centre for zooming and rotating
  2595. CentreY     pixels
  2596. CamX,       pixels                          camera-position
  2597. CamY,       pixels
  2598. CamZ        pixels
  2599. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2600. Alpha       degrees                         first rotation angle
  2601. Beta        degrees                         second rotation angle
  2602. Light       ON, OFF                         toggle light on/off
  2603. LightX,     pixels                          light-position
  2604. Intensity   float                           light-intensity (1.0=normal)
  2605. Ambient     0.0...1.0                       intensity of the ambient light
  2606. Hardness    0.6...1.0                       add gloss to the surface
  2607. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2608. To simplify the selection of the right view the camera-position is
  2609. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2610. of the generated object into the xy-plane and the camZ-value only
  2611. affects the perspective distortion. The object-size can be adjusted by
  2612. the zoom-parameter.
  2613. This makes it very easy to create effects starting from an untransformed
  2614. image. The camZ-values must be always in the range -100...-10000.
  2615. Small values like -200 cause "strange" views, large values like
  2616. -1000 cause the generation of a nearly parallel view. The actual limits
  2617. depend on the image-size but the preset-value of -800 should always
  2618. produce a "normal 3d-look".
  2619. Name        Possible Values/Unit            Description
  2620. @{uu}
  2621. ScaleX,     -10.0...10.0                    object-scaling
  2622. ScaleY,     -10.0...10.0
  2623. ScaleZ      -10.0...10.0
  2624. TransX,     pixels                          object-translation
  2625. TransY,     pixels
  2626. TransZ      pixels
  2627. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2628. Alpha       degrees                         first rotation angle
  2629. Beta        degrees                         second rotation angle
  2630. OriginX,    pixels                          centre for scaling and rotating
  2631. OriginY,    pixels
  2632. OriginZ     pixels
  2633. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2634. from within the Processor-Window.
  2635. @endnode
  2636. @node opBump3D
  2637. @{b}Bump3D-Operator@{ub}
  2638. This operator applies the grayscale-levels of a bump-map
  2639. as z-values to an image or 3d-temp-buffer. For good results
  2640. the bump-map should be very smooth. Such smooth images can be
  2641. easily created using the @{" Convolve " link opConvolve}-Operator with the
  2642. default 5x5 matrix.
  2643. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2644. parameters are splitted into two sections.
  2645. The first section contains the render settings like the rotation-angle,
  2646. the light-parameters or the camera-position. All this settings
  2647. are disabled if the output-channel is a 3d-temp-buffer instead of
  2648. an image-buffer.
  2649. The second section contains the parameters of the particular effect.
  2650. @{b}Parameters@{ub}
  2651. Name        Possible Values/Unit            Description
  2652. @{uu}
  2653. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2654.             TEMP3D1, ..., TEMP3D4
  2655. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2656.             TEMP3D1, ..., TEMP3D4
  2657. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2658.                                             is used for the last time and can be modified
  2659.                                             directly to conserve both memory and time
  2660. Zoom        -10.0...10.0                    zoom factor for the whole image
  2661. CentreX,    pixels                          centre for zooming and rotating
  2662. CentreY     pixels
  2663. CamX,       pixels                          camera-position
  2664. CamY,       pixels
  2665. CamZ        pixels
  2666. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2667. Alpha       degrees                         first rotation angle
  2668. Beta        degrees                         second rotation angle
  2669. Light       ON, OFF                         toggle light on/off
  2670. LightX,     pixels                          light-position
  2671. Intensity   float                           light-intensity (1.0=normal)
  2672. Ambient     0.0...1.0                       intensity of the ambient light
  2673. Hardness    0.6...1.0                       add gloss to the surface
  2674. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2675. To simplify the selection of the right view the camera-position is
  2676. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2677. of the generated object into the xy-plane and the camZ-value only
  2678. affects the perspective distortion. The object-size can be adjusted by
  2679. the zoom-parameter.
  2680. This makes it very easy to create effects starting from an untransformed
  2681. image. The camZ-values must be always in the range -100...-10000.
  2682. Small values like -200 cause "strange" views, large values like
  2683. -1000 cause the generation of a nearly parallel view. The actual limits
  2684. depend on the image-size but the preset-value of -800 should always
  2685. produce a "normal 3d-look".
  2686. Name        Possible Values/Unit            Description
  2687. @{uu}
  2688. HeightMap   STREAM, TEMP1, ..., TEMP8       bump-map
  2689. Amount      integer                         maximum height corresponding to a
  2690.                                             grayscale level of 255
  2691. Width       pixels                          width of the bump-map
  2692. Height      pixels                          height of the bump-map
  2693. OriginX     pixels                          left edge of the bump-map
  2694. OriginY     pixels                          top edge of the bump-map
  2695. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2696. from within the Processor-Window.
  2697. @endnode
  2698. @node opLWOB
  2699. @{b}LWOB-Operator@{ub}
  2700. This operator reads in a Lightwave-object and renders it using
  2701. flat shading. The main purpose of this PlugIn is to produce
  2702. preview images for object-catalogues.
  2703. Therefore the filename can be plotted directly to the generated
  2704. image and whole drawers can be processed easily.
  2705. @{b}Parameters@{ub}
  2706. Name        Possible Values/Unit            Description
  2707. @{uu}
  2708. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2709. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2710. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2711.                                             is used for the last time and can be modified
  2712.                                             directly to conserve both memory and time
  2713. Zoom        -10.0...10.0                    zoom factor for the whole image
  2714. CentreX,    pixels                          centre for zooming and rotating
  2715. CentreY     pixels
  2716. CamX,       pixels                          camera-position
  2717. CamY,       pixels
  2718. CamZ        pixels
  2719. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2720. Alpha       degrees                         first rotation angle
  2721. Beta        degrees                         second rotation angle
  2722. Light       ON, OFF                         toggle light on/off
  2723. LightX,     pixels                          light-position
  2724. Intensity   float                           light-intensity (1.0=normal)
  2725. Ambient     0.0...1.0                       intensity of the ambient light
  2726. Hardness    0.6...1.0                       add gloss to the surface
  2727. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2728. Text                                        toggle the kind of text to be plotted to the image,
  2729.             OFF,                             no text will be generated,
  2730.             SMALL,                           plot the filename without the path,
  2731.             FULL                             plot the full filename with path
  2732. Select Font (gadget)                        select the font for the generated string
  2733. File        string                          object-file or drawer to be scanned
  2734. Width       pixels                          width of the image to be created
  2735. Height      pixels                          height of the image to be created
  2736. BGRed,      0...255                         background color
  2737. BGGreen,    0...255
  2738. BGBlue      0...255
  2739. TRed,       0...255                         text color
  2740. TGreen,     0...255
  2741. TBlue       0...255
  2742. To simplify the selection of the right view the camera-position is
  2743. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2744. of the generated object into the xy-plane and the camZ-value only
  2745. affects the perspective distortion. The object-size can be adjusted by
  2746. the zoom-parameter.
  2747. This makes it very easy to create effects starting from an untransformed
  2748. image. The camZ-values must be always in the range -100...-10000.
  2749. Small values like -200 cause "strange" views, large values like
  2750. -1000 cause the generation of a nearly parallel view. The actual limits
  2751. depend on the image-size but the preset-value of -800 should always
  2752. produce a "normal 3d-look".
  2753. If the specified input-file cannot be found the path is scanned
  2754. as drawer to create an alphabetically sorted filelist.
  2755. Later the n-th item of this list is processed at frame n.
  2756. See the @{" Tutorial " link Tutorials} for an example.
  2757. @endnode
  2758. @node opPerspective
  2759. @{b}Perspective-Operator@{ub}
  2760. This operator adds perspective to an image.
  2761. @{b}Parameters@{ub}
  2762. Name        Possible Values/Unit            Description
  2763. @{uu}
  2764. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  2765. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  2766. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2767.                                             is used for the last time and can be modified
  2768.                                             directly to conserve both memory and time
  2769. Zoom        -10.0...10.0                    zoom factor for the whole image
  2770. CentreX,    pixels                          centre for zooming and rotating
  2771. CentreY     pixels
  2772. CamX,       pixels                          camera-position
  2773. CamY,       pixels
  2774. CamZ        pixels
  2775. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2776. Alpha       degrees                         first rotation angle
  2777. Beta        degrees                         second rotation angle
  2778. Light       ON, OFF                         toggle light on/off
  2779. LightX,     pixels                          light-position
  2780. Intensity   float                           light-intensity (1.0=normal)
  2781. Ambient     0.0...1.0                       intensity of the ambient light
  2782. Hardness    0.6...1.0                       add gloss to the surface
  2783. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2784. To simplify the selection of the right view the camera-position is
  2785. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2786. of the generated object into the xy-plane and the camZ-value only
  2787. affects the perspective distortion. The object-size can be adjusted by
  2788. the zoom-parameter.
  2789. This makes it very easy to create effects starting from an untransformed
  2790. image. The camZ-values must be always in the range -100...-10000.
  2791. Small values like -200 cause "strange" views, large values like
  2792. -1000 cause the generation of a nearly parallel view. The actual limits
  2793. depend on the image-size but the preset-value of -800 should always
  2794. produce a "normal 3d-look".
  2795. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2796. from within the Processor-Window.
  2797. @endnode
  2798. @node opWater
  2799. @{b}Water-Operator@{ub}
  2800. This operator applies a threedimensional anharmonic water-wave
  2801. to an image.
  2802. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2803. parameters are splitted into two sections.
  2804. The first section contains the render settings like the rotation-angle,
  2805. the light-parameters or the camera-position. All this settings
  2806. are disabled if the output-channel is a 3d-temp-buffer instead of
  2807. an image-buffer.
  2808. The second section contains the parameters of the particular effect.
  2809. @{b}Parameters@{ub}
  2810. Name        Possible Values/Unit            Description
  2811. @{uu}
  2812. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2813.             TEMP3D1, ..., TEMP3D4
  2814. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2815.             TEMP3D1, ..., TEMP3D4
  2816. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2817.                                             is used for the last time and can be modified
  2818.                                             directly to conserve both memory and time
  2819. Zoom        -10.0...10.0                    zoom factor for the whole image
  2820. CentreX,    pixels                          centre for zooming and rotating
  2821. CentreY     pixels
  2822. CamX,       pixels                          camera-position
  2823. CamY,       pixels
  2824. CamZ        pixels
  2825. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2826. Alpha       degrees                         first rotation angle
  2827. Beta        degrees                         second rotation angle
  2828. Light       ON, OFF                         toggle light on/off
  2829. LightX,     pixels                          light-position
  2830. Intensity   float                           light-intensity (1.0=normal)
  2831. Ambient     0.0...1.0                       intensity of the ambient light
  2832. Hardness    0.6...1.0                       add gloss to the surface
  2833. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2834. To simplify the selection of the right view the camera-position is
  2835. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2836. of the generated object into the xy-plane and the camZ-value only
  2837. affects the perspective distortion. The object-size can be adjusted by
  2838. the zoom-parameter.
  2839. This makes it very easy to create effects starting from an untransformed
  2840. image. The camZ-values must be always in the range -100...-10000.
  2841. Small values like -200 cause "strange" views, large values like
  2842. -1000 cause the generation of a nearly parallel view. The actual limits
  2843. depend on the image-size but the preset-value of -800 should always
  2844. produce a "normal 3d-look".
  2845. Name        Possible Values/Unit            Description
  2846. @{uu}
  2847. Frame       integer>0                       current frame
  2848. Frames      integer>0                       frame count describing a full cycle
  2849. Times       integer>0                       number of rings, values in the range 1..3 are
  2850.                                             are always a good choice
  2851. Rings       integer>0                       number of times the growing of rings is performed,
  2852.                                             after one cycle the 1st ring has the
  2853.                                             distance times*wavelength from the centre,
  2854.                                             values 2..10 give good results
  2855. Axis                                        direction of propagation,
  2856.             X,                               parallel to the x-axis,
  2857.             Y,                               parallel to the y-axis,
  2858.             XY,                              radial propagation
  2859. Amplitude   pixels                          wave-amplitude, this value should be always in
  2860.                                             the range 1..4
  2861. Wavelength  pixels                          wavelength
  2862. OriginX,    pixels                          location of the wave-source
  2863. OriginY     pixels
  2864. Damping     ON, OFF                         toggle damping on/off
  2865. Damping     float                           damping-value
  2866. moveXY      ON, OFF                         specify if the deformation is applied to all
  2867.                                             components (x,y,z) or not. If this option is set
  2868.                                             there may occur some singularities ("bad points"),
  2869.                                             but this mode is very close to the reality.
  2870. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2871. from within the Processor-Window.
  2872. @endnode
  2873. @node opWave3D
  2874. @{b}Wave3D-Operator@{ub}
  2875. This operator applies a harmonic wave in the threedimensional
  2876. space to an image.
  2877. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2878. parameters are splitted into two sections.
  2879. The first section contains the render settings like the rotation-angle,
  2880. the light-parameters or the camera-position. All this settings
  2881. are disabled if the output-channel is a 3d-temp-buffer instead of
  2882. an image-buffer.
  2883. The second section contains the parameters of the particular effect.
  2884. @{b}Parameters@{ub}
  2885. Name        Possible Values/Unit            Description
  2886. @{uu}
  2887. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2888.             TEMP3D1, ..., TEMP3D4
  2889. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2890.             TEMP3D1, ..., TEMP3D4
  2891. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2892.                                             is used for the last time and can be modified
  2893.                                             directly to conserve both memory and time
  2894. Zoom        -10.0...10.0                    zoom factor for the whole image
  2895. CentreX,    pixels                          centre for zooming and rotating
  2896. CentreY     pixels
  2897. CamX,       pixels                          camera-position
  2898. CamY,       pixels
  2899. CamZ        pixels
  2900. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2901. Alpha       degrees                         first rotation angle
  2902. Beta        degrees                         second rotation angle
  2903. Light       ON, OFF                         toggle light on/off
  2904. LightX,     pixels                          light-position
  2905. Intensity   float                           light-intensity (1.0=normal)
  2906. Ambient     0.0...1.0                       intensity of the ambient light
  2907. Hardness    0.6...1.0                       add gloss to the surface
  2908. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2909. To simplify the selection of the right view the camera-position is
  2910. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2911. of the generated object into the xy-plane and the camZ-value only
  2912. affects the perspective distortion. The object-size can be adjusted by
  2913. the zoom-parameter.
  2914. This makes it very easy to create effects starting from an untransformed
  2915. image. The camZ-values must be always in the range -100...-10000.
  2916. Small values like -200 cause "strange" views, large values like
  2917. -1000 cause the generation of a nearly parallel view. The actual limits
  2918. depend on the image-size but the preset-value of -800 should always
  2919. produce a "normal 3d-look".
  2920. Name        Possible Values/Unit            Description
  2921. @{uu}
  2922. Frame       integer>0                       current frame
  2923. Frames      integer>0                       number of frame describing a full cycle
  2924. Amplitude   pixels                          wave-amplitude
  2925. Wavelength  pixels                          wavelength
  2926. Phase       degrees                         phase
  2927. Axis                                        direction of propagation,
  2928.             X                                parallel to the x-axis
  2929.             Y                                parallel to the y-axis
  2930.             XY                               radial propagation in the xy-plane
  2931.             RADIAL                           radial propagation in the xyz-space
  2932. OriginX,    pixels                          position of the wave-source
  2933. OriginY     pixels
  2934. Damping     ON, OFF                         toggle damping on/off
  2935. Damping     float                           damping-value
  2936. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  2937. from within the Processor-Window.
  2938. @endnode
  2939. @node opWrap
  2940. @{b}Wrap-Operator@{ub}
  2941. This operator wraps an image onto a sphere or a tube. An unique
  2942. feature is the deformation of "unwrapped" portions of the image
  2943. in "RADIUS"-mode.
  2944. Because this operator supports the @{" PowerPlugs!-concept " link PowerPlugs!} the
  2945. parameters are splitted into two sections.
  2946. The first section contains the render settings like the rotation-angle,
  2947. the light-parameters or the camera-position. All this settings
  2948. are disabled if the output-channel is a 3d-temp-buffer instead of
  2949. an image-buffer.
  2950. The second section contains the parameters of the particular effect.
  2951. @{b}Parameters@{ub}
  2952. Name        Possible Values/Unit            Description
  2953. @{uu}
  2954. Input       STREAM, TEMP1, ..., TEMP8,      input buffer
  2955.             TEMP3D1, ..., TEMP3D4
  2956. Ouput       STREAM, TEMP1, ..., TEMP8,      output buffer
  2957.             TEMP3D1, ..., TEMP3D4
  2958. TRender     ON, OFF                         indicate that the transformed 3d-temp-buffer
  2959.                                             is used for the last time and can be modified
  2960.                                             directly to conserve both memory and time
  2961. Zoom        -10.0...10.0                    zoom factor for the whole image
  2962. CentreX,    pixels                          centre for zooming and rotating
  2963. CentreY     pixels
  2964. CamX,       pixels                          camera-position
  2965. CamY,       pixels
  2966. CamZ        pixels
  2967. Rotate      XY, YZ, XZ, NONE                axis-pair to rotate around/disable rotating
  2968. Alpha       degrees                         first rotation angle
  2969. Beta        degrees                         second rotation angle
  2970. Light       ON, OFF                         toggle light on/off
  2971. LightX,     pixels                          light-position
  2972. Intensity   float                           light-intensity (1.0=normal)
  2973. Ambient     0.0...1.0                       intensity of the ambient light
  2974. Hardness    0.6...1.0                       add gloss to the surface
  2975. Faces       NORMAL, DOUBLE                  draw the faces single- or double-sided
  2976. To simplify the selection of the right view the camera-position is
  2977. interpreted as follows. The (camX,camY)-pair causes a simple translation
  2978. of the generated object into the xy-plane and the camZ-value only
  2979. affects the perspective distortion. The object-size can be adjusted by
  2980. the zoom-parameter.
  2981. This makes it very easy to create effects starting from an untransformed
  2982. image. The camZ-values must be always in the range -100...-10000.
  2983. Small values like -200 cause "strange" views, large values like
  2984. -1000 cause the generation of a nearly parallel view. The actual limits
  2985. depend on the image-size but the preset-value of -800 should always
  2986. produce a "normal 3d-look".
  2987. Name        Possible Values/Unit            Description
  2988. @{uu}
  2989. Axis                                        wrap axis,
  2990.             X,                               wrap the image onto a tube along the x-axis
  2991.             Y,                               wrap the image onto a tube along the y-axis
  2992.             XY,                              wrap the image onto a sphere
  2993. OriginX,    pixels                          origin of the sphere/tube
  2994. OriginY     prixels
  2995. Amount      0...100                         wrap-amount
  2996. Radius      pixels                          radius of the sphere or tube
  2997. Method                                      method used for wrapping,
  2998.             RADIUS,                          create a sphere/tube of the radius
  2999.                                              specified, wrap the image onto it and
  3000.                                              deform the unwrapped portions according
  3001.                                              to the shape
  3002.             AMOUNT                           create a sphere/tube to fit the whole
  3003.                                              wrapped image, the specified amount-value
  3004.                                              specifies the amount of wrapping in percent
  3005. To speed up the generation of previews modify the @{" 3DQuant-parameter " link pcQuant3D}
  3006. from within the Processor-Window.
  3007. @endnode
  3008. @node opARexx
  3009. @{b}ARexx-Operator@{ub}
  3010. This operator makes it possible to exchange images with other applications.
  3011. The basic concept is to produce an ARexx-script which causes the application
  3012. to load, process and save a temperary image created by Wildfire.
  3013. @{b}Parameters@{ub}
  3014. Name         Possible Values/Unit            Description
  3015. @{uu}
  3016. Input        STREAM, TEMP1, ..., TEMP8       input buffer
  3017. Ouput        STREAM, TEMP1, ..., TEMP8       output buffer
  3018. Port         string                          ARexx-port of the application
  3019. Temp-File    string                          path for the temperorary image to be created
  3020. Add          (gadget)                        add a line to the ARexx-script
  3021. Kill         (gadget)                        kill the selected line
  3022. Up           (gadget)                        move the selected line up
  3023. Down         (gagget)                        move the selected line down
  3024. Clear        (gadget)                        clear the whole script
  3025. Add Variable (gadget)                        add a variable-entry to the selected line
  3026. Import       (gadget)                        load a previously saved script
  3027. Export       (gadget)                        save the current script to disk
  3028. A "normal" script should contain the three parts:
  3029.  -loading of the temporary image created by Wildfire
  3030.  -processing of this image
  3031.  -saving of the result
  3032. The 3rd part is the only important.
  3033. Every line of the script has to be entered in the format of
  3034. a C-printf-command. This allows one to use Envelopes in
  3035. such an ARexx-script.
  3036. The basic syntax is as follows:  "<formatstring>",arguments
  3037. (The enclosing '"'-characters are important.)
  3038. Three formats are supported:
  3039.  "%s" - for strings
  3040.  "%d" - for integer parameters
  3041.  "%f" - for float parameters
  3042. The number of format-specifiers must be always equal to the number
  3043. of arguments. Any special formats-strings like "%.4lf" are
  3044. not supported.
  3045. Examples:
  3046.  line to be entered:                 line generated by Wildfire:
  3047.   "integer: %d",10.3                  integer: 10
  3048.   "float: %f",10.3                    float: 10.3
  3049.   "i: %d, f: %f, s: '%s'",4,3,str     i: 4, f: 3.0, s: 'str'
  3050. To use an Envelope simply enter it's name as argument, rounding
  3051. is performed if you specify "%d" as corresponding formatstring.
  3052. The filename of the temporary image can be omitted using
  3053. the predefined argument "tempfile".
  3054. Now let's create a working example. Assume you want to have
  3055. ADPro to halve your images and to apply an Antique-effect
  3056. to the result.
  3057. At first you have to set the path of your application (which
  3058. will be started automatically if it's port cannot be located)
  3059. from within the @{" Preferences-Window " link PreferencesWindow}.
  3060. After that you have to specify the portname, in this case "ADPro".
  3061. At first entry in the script you should specify ADPro's default Loader:
  3062.  "lformat "universal""
  3063. Now the image can be loaded
  3064.  "load '%s'",tempfile
  3065. Apply the effects:
  3066.  "operator halve"
  3067.  "operator antique"
  3068. Specify the the Saver to use:
  3069. "sformat "iff""
  3070. Save the image:
  3071.  "save '%s' raw",tempfile
  3072. That's all. Now you should save this script
  3073.  "lformat "universal""
  3074.  "load '%s'",tempfile
  3075.  "operator halve"
  3076.  "operator antique"
  3077.  "sformat "iff""
  3078.  "save '%s' raw",tempfile
  3079. as "reference-script". For further purposes only the "operator"-lines
  3080. have to be replaced.
  3081. @endnode
  3082. @node opComment
  3083. @{b}Comment-Operator@{ub}
  3084. This operator simply allows you to add comments to the Processor-script.
  3085. @{b}Parameters@{ub}
  3086. Name        Possible Values/Unit      Description
  3087. @{uu}
  3088. String      string                    the comment
  3089. @endnode
  3090. @node opExample
  3091. @{b}Example-Operator@{ub}
  3092. This operator acts as an example for the developer-kit.
  3093. It turns all pixels which have a brightness larger than a specified
  3094. value into grayscale.
  3095. @{b}Parameters@{ub}
  3096. Name        Possible Values/Unit            Description
  3097. @{uu}
  3098. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3099. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3100. Switch1     MODEA1, MODEA2                  not used
  3101. Switch2     MODEB1, ..., MODEB4             not used
  3102. IntVal1     integer                         not used
  3103. IntVal2     0...255                         grayscale-level
  3104. FloatVal1   float                           not used
  3105. FloatVal2   float                           not used
  3106. @endnode
  3107. @node opRaster
  3108. @{b}Raster-Operator@{ub}
  3109. This operator applies a black raster to an image. The main
  3110. purpose of this PlugIn is to reduce the size of delta-compressed
  3111. animations without loosing too much details.
  3112. @{b}Parameters@{ub}
  3113. Name        Possible Values/Unit            Description
  3114. @{uu}
  3115. Input       STREAM, TEMP1, ..., TEMP8       input buffer
  3116. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3117. @endnode
  3118. @node opText
  3119. @{b}Text-Operator@{ub}
  3120. This operator renders text in various styles. Unlike to other programs
  3121. whole text-files can be used and edited.
  3122. @{b}Parameters@{ub}
  3123. Name        Possible Values/Unit            Description
  3124. @{uu}
  3125. Ouput       STREAM, TEMP1, ..., TEMP8       output buffer
  3126. Style                                       render-style
  3127.             NORMAL                           use the font without applying
  3128.                                              any changes, this method should be
  3129.                                              selected using color-fonts
  3130.             OUTLINE                          draw outlines of the selected font
  3131.             EMBOSS                           produce a threedimensional look
  3132. Adjust      LEFT, CENTERED, RIGHT           text-adjustment, this setting has only an effect when
  3133.                                             plotting more than one line of text
  3134. Red,        0...255                         text-color
  3135. Green,      0...255
  3136. Blue        0...255
  3137. BGRed,      0...255                         background-color
  3138. BGGreen,    0...255
  3139. BGBlue      0...255
  3140. Strength    pixels                          thickness of the outline drawed around the
  3141.                                             text in OUTLINE- or EMBOSS-mode
  3142. Intensity   float                           light-intensity (1.0=normal)
  3143. LightX,     pixels                          light-position
  3144. LightY,     pixels
  3145. LightZ      pixels
  3146. HSkip       pixels                          additional space between two lines
  3147. Select Font (gadget)                        select the font to use for all lines
  3148. Add         (gadget)                        add a line of text
  3149. Kill        (gadget)                        delete the selected line
  3150. Up          (gadget)                        move the selected line up
  3151. Down        (gadget)                        move the selected line down
  3152. Clear       (gadget)                        clear all lines of text
  3153. Import      (gadgt)                         import text from a file
  3154. Export      (gadget)                        save the current text to disk
  3155. @endnode
  3156. @NODE beispiele "5. Examples"
  3157. @{b}5. Examples
  3158. -----------------------------------------------------------------@{ub}
  3159.  (i) An animation will be displayed in negative colors and a smaller
  3160.      version of the anim will be placed in the right colors over
  3161.      the `negative` animation
  3162.      Scheme:
  3163.       *STREAM to negativ and save to TEMP1
  3164.       *STREAM to halve and save to STREAM
  3165.       *Compose TEMP1 as background and STREAM as foreground
  3166.        and save to STREAM
  3167.      ARexx-Program:
  3168.       pc_add negative stream temp1
  3169.       pc_add scale stream stream width/2 height/2
  3170.       pc_add compose width/3 height/3 100 temp1 stream stream none
  3171.      NOTE:
  3172.     *The ARexx-notation is very useful. So you can take the examples
  3173.      as macros and you`ll learn how to use the ARexx port of Wildfire,
  3174.      too.
  3175.     *Of course you should try out the examples inside the program,
  3176.      first. Just start @{" WILDFIRE " link WildFire.guide/MAIN}, klick on the PROCESSOR-GADGET,
  3177.      and push the ADD BUTTON. Doubleclick on NEGATIVE and doubleclick
  3178.      on the NEGATIVE entry in the script. Now you can select STREAM as INPUT and
  3179.      TEMP1 as output. Do the needed things for the other 2 commands, too.
  3180.     *width and height are the height and the width of the animation or
  3181.      the single-pictures. With the ARexx commands "T_ANIMINFO" or
  3182.      "T_PICINFO" you can get the needed details.
  3183.  (ii) An animation will be placed on a colored background using a white
  3184.       border with shadow.
  3185.       Scheme:
  3186.     *create a colored background with width+80 and height+80 in 
  3187.      "TEMP1"
  3188.     *create a white picture with width+20 and height+20 in "TEMP2"
  3189.      the border-size is 10 pixels (20/2)
  3190.     *create a black picture with width+20 and height+20 in "TEMP3"
  3191.      the border-size is 10 pixels, too
  3192.     *place the black picture on the colored background with offset
  3193.      40x40 pixels
  3194.     *place the white picture on the colored background (now with
  3195.      the black picture on it) with offset 30x30
  3196.     *all these things you have to do ONLY 1 time, the result-picture
  3197.      will be saved to buffer "TEMP1" and will NOT be changed anymore!
  3198.      So we can tell @{" Wildfire " link WildFire.guide/MAIN} that it has to do this
  3199.       effect only for the first frame!
  3200.     *every picture from the animation will be placed with
  3201.      offset 40x40 on the created colored picture with black and white
  3202.      border.
  3203.       ARexx-Programm:
  3204.        /* create background and save to TEMP1  */
  3205.        pc_add createimage temp1 width+80 height+80 255 0 0  255 255 0  0 255 0  0 0 255
  3206.        pc_add createimage temp2 width+20 height+20 255 255 255  255 255 255  255 255 255  255 255 255
  3207.        pc_add createimage temp3 width+20 height+20 0 0 0  0 0 0  0 0 0  0 0 0
  3208.        pc_add compose 40 40 100 temp1 temp3 temp1 none
  3209.        pc_add compose 30 30 100 temp1 temp2 temp1 none
  3210.        /* only do this operations at frame 1 */
  3211.        pc_select createimage 1
  3212.        pc_to 1
  3213.        pc_select createimage 2
  3214.        pc_to 1
  3215.        pc_select createimage 3
  3216.        pc_to 1
  3217.        pc_select compose 1
  3218.        pc_to 1
  3219.        pc_select compose 2
  3220.        pc_to 1
  3221.        /* compose STREAM with TEMP1 for every animation-picture */
  3222.        pc_add compose 40 40 100 temp1 stream stream none
  3223. @ENDNODE
  3224. @remark /*************************************************************/
  3225. @remark /*
  3226. @remark                            Developer
  3227. @remark */
  3228. @remark /*************************************************************/
  3229. @node Developer
  3230. @{b}The YAFA-Format@{ub}
  3231. If you want to develop your own YAFA-player or just want
  3232. to support the YAFA-format from within your application you may
  3233. have a look at the @{" YAFA-Format-Description " link YAFA-doc.guide/MAIN}.
  3234. @{b}Wildfire-PlugIns@{ub}
  3235. If you on the other side are interested in developing addional
  3236. PlugIns (savers, operators or general PlugIns) for Wildfire please
  3237. contact the author at "epgbc@cluster1.urz.Uni-Halle.DE".
  3238. (If there are at leat 10 requests he will start to create
  3239. a developer-kit including working examples and full
  3240. documentation.)
  3241. @endnode
  3242. @remark /*************************************************************/
  3243. @remark /*
  3244. @remark                            ARexx
  3245. @remark */
  3246. @remark /*************************************************************/
  3247. @node ARexx
  3248. @{b}The ARexx-port@{ub}
  3249. The ARexx-port is another powerful feature of WildFire which
  3250. allows you
  3251.   -to use all features from within other programs
  3252.   -to enhance the GUI with your own windows without
  3253.   -to write own ARexx-applications which operate like the program itself
  3254. Example: You have designed a nice special effect like a transition
  3255.          between three animations or whatever. Now you want to integrate
  3256.          this nice feature into Wildfire as a "natural feature".
  3257.          This is easy ! All you have to do is to design a so-called
  3258.          "Custom-window" with buttons, string-gadgets, switches, ...
  3259.          and to write the procedure itself.
  3260. @{b}Topics:@{ub}
  3261.  @{" Usage          " LINK ARexxUsage}
  3262.  @{" Error-Messages " LINK ARexxErrors}
  3263.  @{" Custom-windows " LINK ARexxCWindows}
  3264.  @{" Commands       " LINK ARexxCommands}
  3265. @endnode
  3266. @node ARexxUsage
  3267. The name of the ARexx-port is equal to the name of the publicscreen
  3268. opened by Wildfire.
  3269. For the first running copy of the programm the port is named "Wildfire",
  3270. for the second "Wildfire.1" and so on.
  3271. I don't think that's very usefull to run more copies at one time -
  3272. but it's possible.
  3273. The command-hierarchy is equal to the window-hierarchy.
  3274. This makes it very easy for you to find out the right name
  3275. for a particular command.
  3276. Every command consists of the hierarchy-identifier and
  3277. the function-name, e.g. the "Play"-button of the Player-window
  3278. is named "P_PLAY".
  3279. Most of the arguments are strings or integer-values. It's recommended
  3280. to enclose strings into "'"-characters otherwise they are converted
  3281. to uppercase by the ARexx-system.
  3282. There are three ways to invoke ARexx-commands:
  3283.  1. scripts
  3284.   1a) called as macros from Wildfire after pressing one of the function-keys
  3285.   1b) started from a shell
  3286.  2. direct commands
  3287.  3. external programs
  3288. Direct commands are nice to try out a special command, e.g., if you
  3289. want to check out the "PL_APPENDDIR"-command you may type in a shell-
  3290. window:
  3291.  rx "address 'Wildfire'
  3292. pl_appenddir 'data:grafix/frames'"
  3293. Another way to test single commands is to use the "Command"-PlugIn.
  3294. An input string
  3295.  "pl_appenddir 'data:grafix/frames'"
  3296. would cause the same result as the example shown above.
  3297. The advantage of the use of the Command-PlugIn is the fact that it's
  3298. faster because it doesn't use ARexx and displays the results
  3299. of the in the same window. (ARexx-errors sometimes are cryptic.)
  3300. @endnode
  3301. @node ARexxCWindows
  3302. Custom-windows are another powerful feature of Wildfire.
  3303. You can create as much own windows as you want, they can
  3304. be loaded, saved, opened, closed, deleted, ... at any time.
  3305. So it's possible to create Toolmanager-like docks on the
  3306. Wildfire-screen which can be loaded at startup.
  3307. But the main purpose is to give you the possibility to enhance
  3308. the program easily and to fit it to your needs.
  3309. Window-elements
  3310. -------------------------------------------------------------------
  3311. Custom windows can contain
  3312.   -buttons
  3313.   -string-gadgets
  3314.   -switches
  3315.   -lines
  3316.   -boxes and
  3317.   -texts.
  3318. All these elements remain to the window as long as you
  3319. don't kill them.
  3320. But you have the possibility to apply graphical elements
  3321. which are not stored as structures to the window.
  3322. So you could create an own progress-bar or a function-plotter..
  3323. Attention:
  3324. If you want to have spaces in you window- or gadget-names
  3325. you have to use a special character (code 160).
  3326. (This restriction is due the command-parsing.)
  3327. Example:
  3328. space='a0'x
  3329. wnd="Transition.rexx" || space || "V0.3"
  3330. Window-coordinates
  3331. -------------------------------------------------------------------
  3332. Because Wildfire has a fontsensitve GUI you can't use absolute
  3333. coordinates to specify window-elements.
  3334. So you have to design your windows using a topaz.8-font
  3335. to ensure that they look perfect for example with a times.24-font.
  3336. If you want to design a very difficult window with 500
  3337. gadgets, 300 bevelboxes, ... it's seems to be no bad idea
  3338. to use GadToolsBox
  3339. . Using this nice program you can drag and
  3340. size your gadgets in an easy way - just take down the coordinates
  3341. after finishing it.
  3342. A simple example
  3343. -------------------------------------------------------------------
  3344. The following example called "ConvertPics.rexx" opens a window
  3345. which lets you specify a range of your current picture-list
  3346. and has a "Convert"-button. This makes is possible to
  3347. convert only a small part of the picture-list which is
  3348. very usefull if you want to test a very complex process.
  3349. 1. Program-structure
  3350.     (i) create the window, initialize the parameters
  3351.     (ii) perform an endless loop receiving messages:
  3352.           1. check for pressed gadgets
  3353.               -> start filerequester, read gadget-contents
  3354.           2. check for the closegadget
  3355.               -> exit
  3356.           3. check for the start-button
  3357.               -> check the parameters
  3358.               -> do it
  3359. 2. Program
  3360.     /* Are we right ? */
  3361.     if ~show('P','Wildfire') then do
  3362.      say " Error: The Wildfire-program must be started before executing this script."
  3363.      exit
  3364.     end
  3365.     /* Initialize the global variables */
  3366.     address "Wildfire"
  3367.     options results
  3368.     wnd="Convert"
  3369.     from=1
  3370.     to=1
  3371.     /* Create the window */
  3372.     cw_kill wnd
  3373.     cw_add wnd 309 70
  3374.     /* Create the Gadget */
  3375.     cw_addgadget wnd string 202 11 84 "From"
  3376.     cw_addgadget wnd string 202 27 84 "To"
  3377.     cw_addgadget wnd button 25 46 261 "Convert"
  3378.     /* It's important to open the window before setting the gadgets */
  3379.     cw_open wnd
  3380.     cw_setgadget wnd "From" from
  3381.     cw_setgadget wnd "To" to
  3382.     /* main loop */
  3383.     do forever
  3384.      /* check if the window is still open */
  3385.      cw_isopen wnd
  3386.      qt=result
  3387.      /* no: leave the script */
  3388.      if qt=0 then call cleanup
  3389.      /* wait for gadgets */
  3390.      cw_wait wnd
  3391.      gadget=result
  3392.      /* which gadget was pressed */
  3393.      if gadget="From" then do
  3394.       /* get the "from"-value from the gadget */
  3395.       cw_getgadget wnd "From"
  3396.       from=result
  3397.      end
  3398.      else if gadget="To" then do
  3399.       /* get the "to"-value from the gadget */
  3400.       cw_getgadget wnd "To"
  3401.       to=result
  3402.      end
  3403.      else if gadget="Convert" then do
  3404.       /* now let's do it */
  3405.       c_convertpics from to
  3406.      end
  3407.     end
  3408.     cleanup:
  3409.     cw_kill wnd
  3410.     exit
  3411.  GadToolsBox is Copyright 
  3412.  1991-93 Jaba Development
  3413. @endnode
  3414. @node ARexxErrors
  3415. There are 4 error-messages which will be shown together
  3416. with the command in the default CON:-window:
  3417.  1: wrong number of arguments
  3418.  2: wrong arguments
  3419.  3: unknown command
  3420.  4: command failed
  3421. Most of the commands are valid everywhere, but there are exeptions,
  3422. e.g. if you haven't defined any variable you can't open
  3423. the envelope-window. This would cause error 4.
  3424. Normally you can access all program functions without opening
  3425. any of the windows, but there are the following exceptions:
  3426.  -Timecodes-, AnimInfo-, Envelope- and EnvelopeAdvanced-commands
  3427.   require that the corresponding Window was opened
  3428.   (This is due the internal data-structure and no error or
  3429.    similar.)
  3430. If the program executes an ARexx-command all requesters
  3431. except the one invoked by the "M_MESSAGE"-command are
  3432. turned off, but the requester-messages are shown in the
  3433. Log-Window.
  3434. @endnode
  3435. @node ARexxCommands
  3436. The command-list below shows all available commands,
  3437. values enclosed into brackes are alternative keywords.
  3438.  Main:
  3439.   M_EXIT
  3440.   M_WAIT secs
  3441.   M_MESSAGE text
  3442.   M_REQUEST text (res=0: o.k.)
  3443.   M_OPENCONVERTER
  3444.   M_CLOSECONVERTER
  3445.   M_OPENPROCESSOR
  3446.   M_CLOSEPROCESSOR
  3447.   M_OPENEDITOR
  3448.   M_CLOSEEDITOR
  3449.   M_OPENPLAYER
  3450.   M_CLOSEPLAYER
  3451.   M_OPENPREFS
  3452.   M_CLOSEPREFS
  3453.   M_OPENINFO
  3454.   M_CLOSEINFO
  3455.   M_MOVE x y
  3456.   M_TOFRONT
  3457.   M_TOBACK
  3458.   M_OPENTMAKER
  3459.   M_CLOSETMAKER
  3460.   M_OPENIMOPTIONS
  3461.   M_CLOSEIMOPTIONS
  3462.   M_ADDICON file
  3463.   M_CLEANUP
  3464.   M_LOAD
  3465.   M_SAVE
  3466. Tools:
  3467.   T_DELPICTURELIST
  3468.   T_GETNUMBER title [preset]
  3469.   T_GETSTRING title [preset]
  3470.   T_GETFILE title [preset]
  3471.   T_GETDRAWER titlee [preset]
  3472.   T_ANIMINFO name (0=o.k.)
  3473.   T_PICINFO name (0=o.k.)
  3474.   T_GETWIDTH
  3475.   T_GETHEIGHT
  3476.   T_GETDEPTH
  3477.   T_GETCOLORS
  3478.   T_GETFRAMES
  3479.   T_GETANIMDRAWER
  3480.   T_GETPICDRAWER
  3481.   T_GETMODDRAWER
  3482.   T_GETROOTDRAWER
  3483.   T_PEXTENSION extension
  3484.   T_REQSTATUS (ON|OFF)
  3485.  Prefs:
  3486.   PR_PLAYERSCREEN name
  3487.   PR_SCREENMODE id width height depth
  3488.   PR_SCREENDEPTH depth
  3489.   PR_LOADPREFS
  3490.   PR_SAVEPREFS
  3491.   PR_OPENPATHS
  3492.   PR_CLOSEPATHS
  3493.   PR_OPENMACROS
  3494.   PR_CLOSEMACROS
  3495.   PR_DCLICKTIME val
  3496.   PR_STATISTICS (ON|OFF)
  3497.   PR_EXPERTMODE (ON|OFF)
  3498.   PR_BRUTALBLIT (ON|OFF)
  3499.   PR_MOVE x y
  3500.  Paths:
  3501.   PT_ANIMATIONDRAWER name
  3502.   PT_PICTUREDRAWER name
  3503.   PT_SOUNDDRAWER name
  3504.   PT_ROOTDRAWER name
  3505.   PT_YAFAPLAYER name
  3506.   PT_ANIMPLAYER name
  3507.   PT_MPEGPLAYER name
  3508.   PT_VIEWER name
  3509.   PT_MOVE x y
  3510.  Info:
  3511.   I_FREEMEM
  3512.   I_MOVE x y
  3513.  Text:
  3514.   TXT_TEXT file
  3515.   TXT_TEXTNC file
  3516.   TXT_MOVE x y
  3517.   TXT_CLOSE
  3518.   TXT_WAIT
  3519.   TXT_CENTRE
  3520.  Player:
  3521.   P_FILE [name]
  3522.   P_BUFFERS num
  3523.   P_ABUFFER num
  3524.   P_DISPLAY (NORMAL|ZOOMED|DITHERED)
  3525.   P_CACHING (ON|OFF)
  3526.   P_OUTPUT (HARDWARE|WINDOW|BGWINDOW|SCREEN)
  3527.   P_WAIT (ON|OFF)
  3528.   P_PLAY [from to]
  3529.   P_MOVE x y
  3530.   P_OPENANIMINFO
  3531.   P_CLOSEANIMINFO
  3532.   P_OPENTIMECODES
  3533.   P_CLOSETIMECODES
  3534.  AnimInfo:
  3535.   AI_MOVE x y
  3536.   AI_EXPORT name
  3537.   AI_IMPORT num
  3538.  Timecodes:
  3539.   TC_RANGE from to step
  3540.   TC_IMPORT name
  3541.   TC_EXPORT name
  3542.   TC_TIMERANGE num
  3543.   TC_MOVE x y
  3544.  Editor:
  3545.   E_AADD name
  3546.   E_AKILL
  3547.   E_AREPLACE name
  3548.   E_AINFO
  3549.   E_ASELECT name
  3550.   E_ASELECTNEXT
  3551.   E_ASELECTPREV
  3552.   E_AFROM from
  3553.   E_ATO to
  3554.   E_AUP
  3555.   E_ADOWN
  3556.   E_MADD name (MODULE|SAMPLE|EXECUTABLE)
  3557.   E_MKILL
  3558.   E_MREPLACE name
  3559.   E_MEDIT
  3560.   E_MSELECT name
  3561.   E_MSELECTNEXT
  3562.   E_MSELECTPREV
  3563.   E_MUP
  3564.   E_MDOWN
  3565.   E_OPENPROFILE
  3566.   E_CLOSEPROFILE
  3567.   E_OPENFILMCONTROL
  3568.   E_CLOSEFILMCONTROL
  3569.   E_PLAYALL
  3570.   E_PLAYSEL
  3571.   E_SAVEALL
  3572.   E_FILENAME [name]
  3573.   E_CLEAR
  3574.   E_EXPORT
  3575.   E_LOAD
  3576.   E_SAVE
  3577.   E_INSERT file
  3578.   E_APPEND file
  3579.   E_MOVE x y
  3580.  EditorAnimInfo:
  3581.   EAI_DISPLAY (NORMAL|ZOOMED|DITHERED)
  3582.   EAI_CACHING (ON|OFF)
  3583.   EAI_BUFFERS num
  3584.   EAI_ABUFFER num
  3585.   EAI_SPEED num
  3586.   EAI_MOVE x y
  3587.   EAI_CLOSE
  3588.  ModuleOptions:
  3589.   MO_TEST
  3590.   MO_STOP
  3591.   MO_CLOSE
  3592.   MO_MOVE x y
  3593.  SampleOptions:
  3594.   SO_TEST
  3595.   SO_STOP
  3596.   SO_CHANNEL (LEFT0|RIGHT0|LEFT1|RIGHT1)
  3597.   SO_REPEAT num
  3598.   SO_VOLUME num
  3599.   SO_CLOSE
  3600.   SO_MOVE x y
  3601.  CommandOptions:
  3602.   CO_TEST
  3603.   CO_CLOSE
  3604.   CO_MOVE x y
  3605.  Processor:
  3606.   PC_ADD type [options]
  3607.     SCALE in out width height [(PIXELS|PERCENT) (IGNORE|TAKEWIDTH|TAKEHEIGHT)]
  3608.     CROP in out left top width height
  3609.     ALPHA in alpha out left top
  3610.     COMPOSE left top mix back=(STREAM|TEMPx) fore=(STREAM|TEMPx) dest=(STREAM|TEMPx) (NONE|COLOR|INRANGE|OUTRANGE) [red1 green1 blue1 [red2 green2 blue2]]
  3611.     BALANCING in out red green blue bright contrast gamma
  3612.     DISPLACE in out radius probability seed
  3613.     ROTATE in out centreX centreY radius amount zoom
  3614.     NEGATIVE in out
  3615.     COLORTOGRAY in out (AVERAGE|LUMINANCE|CUSTOM) [red] [green] [blue]
  3616.     SHIFTLINES in out (HORIZONTAL|VERTICAL) shift [(NORMAL|POSITIVE|NEGTIVE) amount probability seed]
  3617.     SAVETEMP buffer
  3618.     LOADTEMP buffer
  3619.     KILLTEMP buffer
  3620.     LOADIMAGE out sequence repeat shift
  3621.     CREATEIMAGE out width height [red0 green0 blue0 ... red3 green3 blue3]
  3622.     PIXELIZE in out width height (ON|OFF) [(XY|X|Y) size red green blue dLeft dRight dTop dBottom]
  3623.     CONVOLVE in out mix shift (file|matrix)
  3624.     TWIRL in out (IN|OUT) centreX centreY radius amount power zoom
  3625.     BUMP in heightMap out left top amount lightX lightY lightZ intensity
  3626.     TEXT out red green blue bgRed bgGreen bgBlue (NORMAL|OUTLINE|EMBOSS) (LEFT|RIGHT|CENTERED) hSkip font fontSize italic bold underline color textFile [strength [lightX lightY lightZ intensity]]
  3627.     ANTIQUE in out
  3628.     HALVE in out
  3629.     FLIP in out (X|Y|XY)
  3630.     MOTIONBLUR in out deltaX deltaY
  3631.     ROTATEBLUR in out centreX centreY amount radius
  3632.     BLACKHOLE in out centreX centreY amount radius
  3633.     MAGNET in out centreX centreY amount damping
  3634.     WAVE in out centreX centreY (X|Y) frames frame zoom damping (ON|OFF) amplitude wavelength phase shift
  3635.     AREXX in out port tempfile script
  3636.     COMMENT [string]
  3637.     PLASMA out width height dimension seed
  3638.     EMBOSS in out direction
  3639.     REPLACECOMP in1 in2 out (RED|GREEN|BLUE)
  3640.     OILTRANSFER in out rect
  3641.     MEDIANFILTER in out rect
  3642.     ADD in1 in2 out (ADD|SUBTRACT)
  3643.     RASTER in out
  3644.     SWAPRGB in out (RBG|GRB|GBR|BRG|BGR)
  3645.     NOISE in out intensity probability seed
  3646.     POSTERISE in out bits
  3647.     ROLL in out deltaX deltaY (ON|OFF)
  3648.     CARTESIAN2POLAR in out r0 phi0
  3649.     PERSPECTIVE in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient
  3650.     CUBE in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient size
  3651.     WRAP in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient (RADIUS|AMOUNT) radius amount (X|Y|XY)
  3652.     WATER in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY) originX originY times rings amplitude wavelength (ON|OFF) damping doXY=(ON|OFF)
  3653.     WAVE3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY|RADIAL) originX originY originZ amplitude wavelength phase (ON|OFF) damping
  3654.     MAGNET3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient strength srcX srcY srcZ destX destY destZ
  3655.     SPHERE in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient radius
  3656.     TRANSFORM3D in out (ON|OFF) centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient strength scaleX scaleY scaleZ transX transY transZ (XY|YZ|XZ|NONE) alpha beta originX originY originZ
  3657.     THRESHOLD in out level
  3658.     SHEAR in out originX originY amount (X|Y) zoom damping (ON|OFF)
  3659.     LWOB out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) (NORMAL|DOUBLE) lightX lightY lightZ intensity hardness ambient file width height
  3660.   PC_KILL
  3661.   PC_CLEAR
  3662.   PC_SELECT type [which]
  3663.   PC_UP
  3664.   PC_DOWN
  3665.   PC_FROM num
  3666.   PC_TO num
  3667.   PC_STEP num
  3668.   PC_OPENEDIT
  3669.   PC_MOVEEDIT x y
  3670.   PC_CLOSEEDIT
  3671.   PC_MODE (COLOR|HAM6|HAM8)
  3672.   PC_DITHER (NONE|FS)
  3673.   PC_SMOOTHING (ON|OFF)
  3674.   PC_DEPTH num
  3675.   PC_CSKIP num
  3676.   PC_FILENAME [name]
  3677.   PC_LOAD
  3678.   PC_SAVE
  3679.   PC_OPENPCSINGLEPICTURE
  3680.   PC_CLOSEPCSINGLEPICTURE
  3681.   PC_OPENVARIABLES
  3682.   PC_CLOSEVARIABLES
  3683.   PC_OPENPALETTE
  3684.   PC_CLOSEPALETTE
  3685.   PC_MOVE
  3686.  Variables:
  3687.   V_ADD name
  3688.   V_SELECT name
  3689.   V_KILL
  3690.   V_RENAME
  3691.   V_SELECT name
  3692.   V_ENVELOPE
  3693.   V_FILENAME
  3694.   V_SAVE
  3695.   V_LOAD
  3696.   V_CLEAR
  3697.   V_MOVE
  3698.  Envelope:
  3699.   EV_XRANGE xmin xmax
  3700.   EV_YRANGE ymin ymax
  3701.   EV_VIEWALL
  3702.   EV_SCROLLUP
  3703.   EV_SCROLLDOWN
  3704.   EV_SCROLLLEFT
  3705.   EV_SCROLLRIGHT
  3706.   EV_SELECT num
  3707.   EV_SELECTNEXT
  3708.   EV_SELECTPREV
  3709.   EV_KILL
  3710.   EV_ADD xval yval
  3711.   EV_MOVE xval yval
  3712.   EV_DRAG xval yval steps
  3713.   EV_LOAD name
  3714.   EV_SAVE name
  3715.   EV_INTERPOLATION (SPLINE|BEZIER|LINEAR)
  3716.   EV_USE
  3717.   EV_CANCEL
  3718.   EV_OPENADVANCED
  3719.   EV_MOVE
  3720.  SinglePicture:
  3721.   PCS_INPUT name
  3722.   PCS_OUTPUT name
  3723.   PCS_TEST [time]
  3724.   PCS_SAVE
  3725.   PCS_SAVERENDERED
  3726.   PCS_APPLYDIMENSIONS
  3727.   PCS_FRAME num
  3728.   PCS_MOVE
  3729.   PCS_SCREENMODE id
  3730.   PCS_PREVIEWWIDTH val
  3731.   PCS_PREVIEWDEPTH val
  3732.   PCS_PREVIEW (ENABLED|DISABLED)
  3733.  EnvelopeAdvanced:
  3734.   EVA_RANGE from to step
  3735.   EVA_SCALE
  3736.   EVA_SHIFT
  3737.   EVA_LOADCURVE name
  3738.   EVA_SAVECURVE name
  3739.   EVA_LOADTIMECODES
  3740.   EVA_SAVETIMECODES
  3741.   EVA_XVAL val
  3742.   EVA_YVAL val
  3743.   EVA_CLOSE
  3744.   EVA_MOVE
  3745.  Converter:
  3746.   C_INPUTTYPE (ANIMATION|YAFAANIM|BLACKFRAMES)
  3747.   C_INPUTEXPORT
  3748.   C_INPUTFILENAME name
  3749.   C_OUTPUTTYPE (PICTURES|YAFAANIM|IFFANIM|NONE)
  3750.   C_OUTPUTEXPORT
  3751.   C_OUTPUTFILENAME name
  3752.   C_ANNOTATION (ON|OFF)
  3753.   C_ANNOFILENAME [name]
  3754.   C_ANNOSTRING [string]
  3755.   C_LOADSESSION
  3756.   C_SAVESESSION
  3757.   C_CONVERT
  3758.   C_CONVERTPICS first last
  3759.   C_OPENINPUTOPTIONS
  3760.   C_OPENOUTPUTOPTIONS
  3761.   C_CLOSEINPUTOPTIONS
  3762.   C_CLOSEOUTPUTOPTIONS
  3763.   C_PREVIEW (NONE|WINDOW|SCREEN)
  3764.   C_PROCESSOR (ENABLED|DISABLED)
  3765.   C_MOVE
  3766.  YAFAOptions:
  3767.   YO_IMAGEDATA (RAW|CHUNKY)
  3768.   YO_DELTA (NONE|BYTE|WORD|LONG|BYTEBR|WORDBR|LONGBR)
  3769.   YO_COMPRESSION (NONE|XPK)
  3770.   YO_COMPRESSOR name
  3771.   YO_MODE mode
  3772.   YO_COLORMAP (UNLOCKED|LOCKED)
  3773.   YO_SPEED num
  3774.   YO_FORCETIMECODES (ON|OFF)
  3775.   YO_OPENANALYSIS
  3776.   YO_MOVE
  3777.   YO_APPLY name
  3778.  Analysis:
  3779.   A_FRAMES num
  3780.   A_TEST
  3781.   A_USE
  3782.   A_CANCEL
  3783.   A_MOVE
  3784.  ANIMOptions:
  3785.   AO_TYPE (ANIM5|ANIM7S|ANIM7L)
  3786.   AO_COLORMAP (UNLOCKED|LOCKED)
  3787.   AO_SCREENMODE mode
  3788.   AO_MOVE
  3789.  PictureOptions:
  3790.   PO_BASENAME name
  3791.   PO_SCREENMODE mode
  3792.   PO_SHIFT num
  3793.   PO_MOVE
  3794.   PO_TYPE (RENDERED|TRUECOLOR)
  3795.  CreateFrames:
  3796.   CF_WIDTH num
  3797.   CF_HEIGHT num
  3798.   CF_FRAMES num
  3799.  PictureList:
  3800.   PL_INSERT names
  3801.   PL_APPEND names
  3802.   PL_INSERTDIR name
  3803.   PL_APPENDDIR name
  3804.   PL_DUPLICATE times
  3805.   PL_SORT
  3806.   PL_CHECK
  3807.   PL_RANGE from to step
  3808.   PL_REMOVERANGE
  3809.   PL_TIMERANGE num
  3810.   PL_SHOW
  3811.   PL_SELECT name [which]
  3812.   PL_SELECTNEXT
  3813.   PL_SELECTPREV
  3814.   PL_OPENPICTUREINFO
  3815.   PL_CLOSEPICTUREINFO
  3816.   PL_MOVE
  3817.  Custom-Windows:
  3818.   CW_CLOSE name
  3819.   CW_OPEN name
  3820.   CW_MOVE name x y
  3821.   CW_ADD name width height
  3822.   CW_KILL name
  3823.   CW_ADDGADGET window (STRING|BUTTON|SWITCH) left top width name [action]
  3824.   CW_GETGADGET window name
  3825.   CW_SETGADGET window name value
  3826.   CW_WAITGADGET window name
  3827.   CW_ADDTEXT window left top pen text
  3828.   CW_ADDLINE window x1 y1 x2 y2 pen
  3829.   CW_ADDRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  3830.   CW_DRAWTEXT window left top pen text
  3831.   CW_DRAWLINE window x1 y1 x2 y2 pen
  3832.   CW_DRAWRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  3833.   CW_SAVE name
  3834.   CW_LOAD name
  3835.   CW_WAIT name
  3836.   CW_ISOPEN name
  3837.  Palette:
  3838.   PP_FILENAME
  3839.   PP_LOAD
  3840.   PP_SAVE
  3841.   PP_COLOR color red green blue
  3842.   PP_STATE (ENABLED|DISABLED)
  3843.   PP_MOVE x y
  3844.  FilmStrip:
  3845.   FC_PLAY file loops rows cols [left top]
  3846.   FC_FILE file
  3847.   FC_FILMFILE file
  3848.   FC_RANGE from to step
  3849.   FC_WIDTH width
  3850.   FC_SIZE rows cols
  3851.   FC_COLOR (ORIGINAL|GRAY)
  3852.   FC_UPDATE
  3853.   FC_CLEANUP
  3854.   FC_LOAD
  3855.   FC_SAVE
  3856.   FC_CONVERT
  3857.   FC_APPEND
  3858.   FC_SCROLL val (negative->scroll left)
  3859.  CRange:
  3860.   CR_FROM num
  3861.   CR_TO num
  3862.   CR_STEP num
  3863.   CR_STATE (ENABLED|DISABLED)
  3864.  IMOptions:
  3865.   IM_RESET
  3866.   IM_FILE file
  3867.   IM_TRASHCAN (KILLICON|DELETE)
  3868.  Icon-Saver:
  3869.   IC_Image1 file
  3870.   IC_Image2 [file]
  3871.   IC_ICON file
  3872.   IC_WIDTH width
  3873.   IC_DEPTH depth
  3874.   IC_COLOR (COLOR|GRAY)
  3875.   IC_CONVERT
  3876.  TMaker:
  3877.   TM_INPUT1 file
  3878.   TM_INPUT2 file
  3879.   TM_OUTPUT file
  3880.   TM_TEMP drawer
  3881.   TM_FRAMES frames
  3882.   TM_PREVIEW (NONE|WINDOW|SCREEN)
  3883.   TM_SHOWEXAMPLE (ON|OFF)
  3884.   TM_TYPE type subtype
  3885.   TM_CREATETEMPFILES
  3886.   TM_KILLTEMPFILES
  3887.   TM_PLAY
  3888.   TM_CONVERT
  3889.   TM_CREATEEXAMPLES
  3890. @endnode
  3891. @node PowerPlugs!
  3892. @{b}PowerPlugs! - it's not a dream @{ub}
  3893. @{u}Introduction@{uu}                              @{" Example1 " system "visage wf:PowerPlugs!_01.jpg"}
  3894. PowerPlugs! are a extended version of Wildfire's 3D-operators
  3895. allowing the superposition of effects in the threedimensional space.
  3896. For example after wrapping an image onto a cube a radial-wave
  3897. could be applied to the cube.
  3898. This is of course an incredible mega-feature many 3D-programs
  3899. are missing.
  3900. But many users may have no need for it because they have slow
  3901. machines with only some memory or don't need any 3d-effect.
  3902. So you have to register for the PowerPlugs!-package separately.
  3903. The price is 50,00 DM or 40,00 US-$. I think this is quite fair
  3904. for such unique features and makes it possible to keep the low price
  3905. of the base-package.
  3906. After registering you will receive an extended version of the
  3907. "wildfire.library" which enables the handling of so-called
  3908. "3D-temp-buffers".
  3909. If you have installed the normal version of the library (registered
  3910. or not) all 3D-operators are restricted to operate on image-
  3911. buffers (STREAM and TEMP1, ..., TEMP8).
  3912. After installing the extended PowerPlugs!-library four
  3913. additional buffers can be used: TEMP3D1, ... TEMP3D4.
  3914. @{u}Usage@{uu}                                     @{" Example2 " system "visage wf:PowerPlugs!_02.jpg"} @{ub}
  3915. The usage is quiet simple. If you specify a 3d-temp-buffer
  3916. instead of an image the transformation is applied to
  3917. a virtual object and not to an image. This means that
  3918. all "final" transformation operations like rotating, scaling
  3919. or adding light are not performed. 3d-temp-buffers
  3920. can be specified both as input and output.
  3921. Example: You want to linearcombine two simple waves.
  3922.           Add a Wave3D-effect and set the originX-value to 60.
  3923.           Set the output-buffer to TEMP3D1.
  3924.           Add a second Wave3D-effect and sets it's originX-value to 260.
  3925.           Set the input-buffer to TEMP3D1.
  3926.          So what happens ? The image is read and deformed by the first
  3927.          Wave3D-operator but not rotated, scaled or rendered.
  3928.          The result is read in by the second Wave3D-operator, deformed,
  3929.          rotated and rendered.
  3930. @{u}Operators@{uu}
  3931. The following operators support the PowerPlugs!-concept and
  3932. can therefore combined in any manner:
  3933.    @{" Bump3D          " link opBump3D         } Bump-mapping                               @{" Example " system "visage wf:doc/pictures/Bump3D.pic"}
  3934.    @{" Cube            " link opCube           } Wrap an image onto a cube                  @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  3935.    @{" Magnet3D        " link opMagnet3D       } Grab and drag portions of an image         @{" Example " system "visage wf:doc/pictures/Magnet3D.pic"}
  3936.    @{" Sphere          " link opSphere         } Wrap an image onto a complete sphere       @{" Example " system "visage wf:doc/pictures/Sphere.pic"}
  3937.    @{" Transform3D     " link opTransform3D    } Perform standard 3d-transformations        @{" Example " system "visage wf:doc/pictures/Transform3D.pic"}
  3938.    @{" Twirl3D         " link opTwirl3D        } Apply a Twirl-effect along any axis        @{" Example " system "visage wf:doc/pictures/Twirl3D.pic"}
  3939.    @{" Twist           " link opTwist          } Deform an image using rotation             @{" Example " system "visage wf:doc/pictures/Twist.pic"}
  3940.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  3941.    @{" Wave3D          " link opWave3D         } Apply a harmonic wave to an image          @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  3942.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  3943. You may ask "Only ten of them ?".
  3944. So have a look at the example-pictures again
  3945. @{" Example1 again " system "visage wf:PowerPlugs!_01.jpg"}
  3946. @{" Example2 again " system "visage wf:PowerPlugs!_02.jpg"}
  3947. and keep in mind that all parameters may be animated easily
  3948. and any number of these operators can be combinated in any manner.
  3949. @{" I'm impressed ! " system "visage wf:Motivation2.jpg"}
  3950. @endnode
  3951. @remark /*************************************************************/
  3952. @remark /*
  3953. @remark                            Tutorials
  3954. @remark */
  3955. @remark /*************************************************************/
  3956. @node Tutorials
  3957. ###############################################################################
  3958. #                                                                             #
  3959. #                       Sequencer-Tutorial  1                                 #
  3960. #                                                                             #
  3961. ###############################################################################
  3962.                   @{" 1. Introduction                        " LINK Tut1-Intro}
  3963.                   @{" 2. Hardware-Requirements               " LINK Tut1-Req}
  3964.                   @{" 3. Tutorial 1                          " LINK Tut1}
  3965. @ENDNODE
  3966. @NODE Tut1-Intro "1. Introduction"
  3967. Welcome to the Sequencer Tutorial!
  3968. This workshop will show you the fantastic possibilities of the Image
  3969. Processor! You won`t trust your eyes when you see what you can do with this
  3970. great program.
  3971. As we are using the great BUILD-FROM-BLOCKS-concept you can change the
  3972. project in an easy way to fit your personal needs.
  3973. First inform yourself about the @{" Hardware Requirements " LINK Tut1-Req}!
  3974. @ENDNODE
  3975. @NODE Tut1-Req "2. Hardware Requirements"
  3976. While installation you can choose between two different versions of this
  3977. tutorial, depending on the hardware you use!
  3978. "HALVE_SIZE" is aimed on users with something like the following
  3979. configuration:
  3980.   CPU: MC68020/MC68030
  3981.   RAM: 4 MB Fast, 2 MB Chip
  3982.   HD: 120 MB
  3983.   about 10 MB free Harddisk-space!
  3984. The "HALVE_SIZE" tutorial even runs on STANDARD A1200 with only 2MB Chip
  3985. Ram and no Fast Ram!
  3986. The "NORMAL_SIZE" version of this tutorial can be used by the ones with
  3987. more extended hardware like:
  3988.   CPU: MC68040/MC68060
  3989.   RAM: 8 MB Fast, 2 MB Chip
  3990.   HD: 1 GB 
  3991.   about 25 MB free Harddisk-space!
  3992. Of course you don`t have to follow this rules, you may use the
  3993. "NORMAL_SIZE" on an slow A1200 with 4MB Fast, too.
  3994.  Now lets start with the @{" Tutorial " LINK Tut1}.
  3995. @ENDNODE
  3996. @NODE Tut1 "3. Tutorial"
  3997.                   @{" 0. Story                    " LINK Tut1-Story}
  3998.                   @{"  1. Preface                 " LINK Tut1-Teil0}
  3999.                   @{"  2. Part 1                  " LINK Tut1-Teil1}
  4000.                   @{"  3. Part 2                  " LINK Tut1-Teil2}
  4001.                   @{"  4. Part 3                  " LINK Tut1-Teil3}
  4002.                   @{"  5. Part 4                  " LINK Tut1-Teil4}
  4003.                   @{"  6. Part 5                  " LINK Tut1-Teil5}
  4004.                   @{"  7. Part 6                  " LINK Tut1-Teil6}
  4005.                   @{"  8. Part 7                  " LINK Tut1-Teil7}
  4006.                   @{"  9. Part 8                  " LINK Tut1-Teil8}
  4007.                   @{" 10. Part 9                  " LINK Tut1-Teil9}
  4008.                   @{" 11. Script                  " LINK Tut1-Script}
  4009. @ENDNODE
  4010. @NODE Tut1-Story "Story"
  4011. Starting with 2 x 60 24Bit-Pictures "CHA" and "CHB" we want to create some
  4012. animations using fading and special effects.
  4013.  Story:
  4014.   -"CHA" will be wiped into the picture
  4015.   -"CHA" will be played quite normal
  4016.   -"CHA" will be roteted (360
  4017.   -"CHA" will be twirled
  4018.   -"CHB" flies into the picture in a smalle size
  4019.   -"CHB" will be scaled to full size
  4020.   -"CHA" will be fadet out and a little bit displaced
  4021.   -"CHB" will be played quite normal
  4022.   -"CHB" will be fadet out
  4023. All session- and process files are stored in the same called directorys.
  4024. To generate the needed animations you have just to:
  4025. (f.i. animation "chab_wipe.yafa)
  4026.  - use the graphical user interface:
  4027.    *converter: load the session file "chab_wipe.session"
  4028.    *converter: press the "Convert" gadget (or just press <Return>)
  4029.     (the needed process file "chab_wipe.process" will be loaded by the
  4030.      sesssion file without user interaction.)
  4031. But we want to learn how the processor works. That`s why you should make
  4032. the animations yourself, following this tutorial! If you managed that you
  4033. will know how to work with WIldfire and it will be eas for you to produce
  4034. effects yourself!
  4035.  So first read the @{" Preface " LINK Tut1-Teil0}!
  4036. @ENDNODE
  4037. @NODE Tut1-Teil0 "Preface"
  4038. If you work with the small version (HALVE_SIZE) then you can follow the
  4039. steps written in the tutorial exactly. But if you want to use the full size
  4040. (NORMAL_SIZE) version, you have to change the path names from
  4041. wftut:halve_size/ ind wftut:normal_size/. Further on you have to use the
  4042. sizes and coordinates written in [].
  4043. Your actions are written in {} brackets.
  4044. Both animations we are dealing with consits of 60 frames each. So the
  4045. timedependent coordinates end with 60 for the last frame.
  4046. First of all start Wildfire.
  4047. {wf <enter>}
  4048. Afterwards open the preferences window.
  4049. {PREFERENCES}
  4050. Change to the paths-selector.
  4051. {PATHS}
  4052. Use the following paths:
  4053. {ANIMATIONS  wftut:halve_size/results/}
  4054. {PICTURES    wftut:halve_size/frames/}
  4055. {YAFA-PLAYER wf:YP}
  4056. Save the preferences.
  4057. {CLOSE Filenames/Drawers}
  4058. {SAVE Prefs}
  4059. {CLOSE Prefs}
  4060. Now all needed selections are made, so lets come to @{" Part 1 " LINK Tut1-Teil1}.
  4061. @ENDNODE
  4062. @NODE Tut1-Teil1 "Part 1"
  4063. cha_wipe.yafa
  4064. Open the converter window.
  4065. {CONVERTER}
  4066. If you want to do it the easy way just load the session file!
  4067. {LOAD Session cha_wipe.session}
  4068. All settings are made automaticly, you jut need to start converting.
  4069. {CONVERT}
  4070. You can do this for all 9 animations but ...
  4071. We want to get to know how the program works, so ...
  4072. we will NOT use this files but do everything ourselves!
  4073. Select Single Pictures as Input Type.
  4074. {INPUT TYPE Pictures}
  4075. Select YAFA Animation as Output Type.
  4076. {OUTPUT TYPE YAFA Animation}
  4077. Select the following YAFA Options:
  4078. {RELATED OPTIONS}
  4079. {IMAGE-DATA RAW}
  4080. {COLORMAP UNLOCKED}
  4081. {FORCE TIMECODES OFF}
  4082. {SPEED 2} [3]
  4083. {POST-COMPRESSION XPK}
  4084. {Compressor FAST}
  4085. {DELTA-COMPRESSION ByteBR}
  4086. {Uncompressed Frames 1}
  4087. {UC-Mode Delta}
  4088. Close the YAFA-Options.
  4089. {CLOSE YAFA-Options}
  4090. Select
  4091. {PREVIEW Screen}  and
  4092. {PROCESSOR Enabled}
  4093. {INPUT RELATED OPTIONS}
  4094. Add the directory with the 60 pictures for the CHA anim:
  4095. {ADDDIR wftut:halve_size/frames/chA}
  4096. {CLOSE Related Options}
  4097. Choose the name for the animation:
  4098. {OUTPUT Browse}
  4099. {wftut:halve_size/results/cha_wipe.yafa}
  4100. Open the
  4101. {PROCESSOR}
  4102. First of all we want the Animation CHA to fly from the left side into the
  4103. screen. Furthermore we want to fade this animation.
  4104. So we create a black screen as background.
  4105. {ADD CREATEIMAGE}
  4106. Now we edit create-image.
  4107. {DOUBLECLICK CreateImage} (in the list) or {EDIT}
  4108. Now we make the following selections:
  4109. {WIDTH 176}  [352]   ... width of the Animation
  4110. {HEIGHT 144} [288]   ... height of the Animation
  4111. {OUTPUT Temp1}       ... buffer for the black picture
  4112. Now we select for all 4 colors the rgb-values 0. The color-gadgets will be
  4113. displayed in their right colors if you work on an 256 color-screen.
  4114. Otherwise you will NOT see their right colors. Just look at the values,
  4115. they have to be 0,0,0.
  4116. ************************************************************
  4117. Note:
  4118. To get the needed coordinates in a very easy way just do the following
  4119. things:
  4120. f.i. add CreateImage effect. Select the effect. (like described some lines
  4121. {OPEN Single-Picture-Process}
  4122. {INPUT wftut:halve_size/frames/cha/pic.0001}
  4123. {APPLY DIMENSIONS}
  4124. Using Apply Dimensions the sizes of the picture will be used for the
  4125. effect. Thats for instance the size for the CreateImage effect and the
  4126. centre coordinates for the twirl and rotate effect.
  4127. ************************************************************
  4128. {CLOSE CreateImage-Options}
  4129. Now we create some variables.
  4130. {VARIABLES}
  4131. {ADD left}
  4132. {ADD mix}
  4133. {DOUBLECLICK left}
  4134. We are looking at the envelopes-window.
  4135. Let`s add two points:
  4136. {ADD PNT  Klick into the window}
  4137. {ADD PNT  Klick into the window}
  4138. The change the position of the first poin we select it:
  4139. {KLICK on the 1. point}
  4140. {X = 0}                  (just write it into the correspondending gadget)
  4141. {Y = -160.00}
  4142. Select the second point.
  4143. {KLICK on the 2. point}
  4144. {X = 5}
  4145. {Y = 0}
  4146. Select the 3. point.
  4147. {KLICK on the 3. point}
  4148. {X = 60}
  4149. {Y = 0}
  4150. Choose bezier as interpolation method.
  4151. {INTERPOLATION bezier}
  4152. For the following variables you follow these steps exactly. I use a short
  4153. form of writing the down. Have a look at these examples for the variables
  4154. you created a minute ago.
  4155. Variable:      left
  4156. Points:         3
  4157. Nr. 1:          0, -160
  4158. Nr. 2:          5,    0
  4159. Nr. 3:         60,    0
  4160. Interpolation: bezier
  4161. Lets come to the second variable.
  4162. 2. Variable:
  4163. Variable:      mix
  4164. Points:         3
  4165. Nr. 1:          0,    0
  4166. Nr. 2:         20,  100
  4167. Nr. 3:         60,  100
  4168. Interpolation: bezier
  4169. {CLOSE Envelope}
  4170. {CLOSE Variables}
  4171. Now we add a compose effect:
  4172. {ADD COMPOSE}
  4173. {EDIT compose}
  4174. {BACKGROUND Temp1}   ... generated picture in Temp1
  4175. {FOREGROUND Stream}  ... Animation in Stream
  4176. {DESTINATION Stream} ... destination -> Animation
  4177. {ALPHA none}         ... Alpha Channel
  4178. {GENLOCK none}
  4179. {LEFT left}  ... Using the gadget VAR you choose our created variable left
  4180.                  as the value for the LEFT position of the animation.
  4181.                  Within our 60 frames the front animation will move from
  4182.                  the left side (-160) into the screen (0).
  4183. {TOP 0}      ... The animation will stay on the same heigth all the time.
  4184. {MIX mix}    ... Within the 60 frames we change the value of mix from 0
  4185.                  to 100. Mix 100 means you will only see the pictures
  4186.                  in front of the background pictures - and these are the
  4187.                  frames of the animation!
  4188. {CENTREX off}... pics will NOT be centred
  4189. {CENTREY off}... pics will NOT be centred
  4190. {MODE Color}
  4191. {DITHERING Floyd}
  4192. {DEPTH 5}
  4193. Now we made all settings, so press the CONVERT gadget in the converter
  4194. window!
  4195. {CONVERT}
  4196. Depending on the speed of your computer you may drink a cup of coffee or
  4197. just look how the animation is created.
  4198. The 60 24-Bit pictures will be wiped, fadet, ditherd and saved in 5-Bit.
  4199. From the @{" Part 2 " LINK Tut1-Teil2} I will tell you only the important things
  4200. as you should know by know how the whole thing is working!
  4201. @ENDNODE
  4202. @NODE Tut1-Teil2 "Part 2"
  4203. cha.yafa
  4204. Now we create an animation without effects. So first remove all the effects
  4205. form the processor-list.
  4206. {PROCESSOR CLEAR}
  4207. The following settings stay unchanged for the whole tutorial!
  4208. {MODE Color}
  4209. {DITHERING Floyd}
  4210. {DEPTH 5}
  4211. The input single-pictures stay the same as in part 1!
  4212. Do not forget to change the output name into:
  4213. {wftut:halve_size/results/cha.yafa}
  4214. So lets start the converting!
  4215. {CONVERT}
  4216. @{" Part 3 " LINK Tut1-Teil3}
  4217. @ENDNODE
  4218. @NODE Tut1-Teil3 "Part 3"
  4219. cha_rotate.yafa
  4220. Now the CHA Animation will be rotated.
  4221. Output-Name:
  4222. {wftut:halve_size/results/cha_rotate.yafa}
  4223. Variable:      rotate
  4224. Points:         2
  4225. Nr. 1:          0,    0   ... Start 0
  4226. Nr. 2:         60,  360   ... end 360
  4227. Interpolation: linear
  4228. Let`s add a rotate effect in the processor:
  4229. {ADD ROTATE}
  4230. Make the following selections:
  4231. {INPUT Stream}       ... Input pictures
  4232. {OUTPUT Stream}      ... Output animation
  4233. {CENTREx 88}  [176]  ... Centre of the picture. To get the centre use a
  4234.                          calculator or:
  4235.                          {SINGLE Picture}
  4236.                          {BROWSE picture for the 60 CHA-picture}
  4237.                          {APPLY DIMENSIONS}
  4238.                          and so you get the centre-settings in the easy
  4239.                          way!
  4240. {CENTREY 72}  [144]
  4241. {RADIUS 120}  [220]  ... Radius for rotating
  4242. {AMOUNT rotate}      ... amount in degrees
  4243. {ZOOM 1}             ... zoom amount
  4244. After this we can start the converting!
  4245. Now come to @{" Part 4 " LINK Tut1-Teil4}...
  4246. @ENDNODE
  4247. @NODE Tut1-Teil4 "Part 4"
  4248. cha_twirl.yafa
  4249. Lets use the cool twirl effect.
  4250. (do not forget the output name!)
  4251. {wftut:halve_size/results/cha_twirl.yafa}
  4252. Variable:      rotate
  4253. Points:         5
  4254. Nr. 1:          0,    0   ... Start 0
  4255. Nr. 2:         20,  100 
  4256. Nr. 2:         30,  210
  4257. Nr. 2:         40,  100
  4258. Nr. 2:         60,    0   ... End 0
  4259. Interpolation: spline
  4260. We add the twirl effect in the processor:
  4261. {ADD TWIRL}
  4262. We choose the following settings:
  4263. {INPUT Stream}       ... Input Pictures
  4264. {OUTPUT Stream}      ... Output animation
  4265. {FALLOFF out}        ... Direction of more power
  4266. {CENTREX 88}  [176]  ... centre of the pictures
  4267. {CENTREY 72}  [144]
  4268. {RADIUS 150}  [220]  ... twirl-radius
  4269. {AMOUNT rotate}      ... degrees
  4270. {POWER 1}            ... Power stays the same
  4271. {ZOOM 1}             ... zoom-amount
  4272. The twirl effect is very time-consuming. Start the converting and if you
  4273. have a slow amiga just drink a can of coffee :-)
  4274. After this interesting effect we go on with @{" Part 5 " LINK Tut1-Teil5}.
  4275. @ENDNODE
  4276. @NODE Tut1-Teil5 "Teil5"
  4277. chab_wipe.yafa
  4278. Now, for the first time, we will see two animations on the screen. CHA will
  4279. be played in the background and CHB will be moved from the top left corner
  4280. to the middle of the screen and zoomed to halve of their size.
  4281. {wftut:halve_size/results/chab_wipe.yafa}
  4282. Variable:      breite
  4283. Points:         2
  4284. Nr. 1:          0,    0        ... start-width 0
  4285. Nr. 2:         60,   88  [176] ... end-width 88 (176/2)
  4286. Interpolation: linear
  4287. Variable:      hoehe
  4288. Points:         2
  4289. Nr. 1:          0,    0        ... start-height 0
  4290. Nr. 2:         60,   72  [144] ... end-height 72 (144/2)
  4291. Interpolation: linear
  4292. Variable:      left
  4293. Points:         2
  4294. Nr. 1:          0,    0       ... start left
  4295. Nr. 2:         60,   44  [88] ... end in the middle (coordinate of the 
  4296.                                   left side of the animation)
  4297. Interpolation: linear
  4298. Variable:      top
  4299. Points:         2
  4300. Nr. 1:          0,    0       ... start at the top
  4301. Nr. 2:         60,   36  [72] ... end in the middle
  4302. Interpolation: linear
  4303. Now we add the following effects
  4304. {ADD LOADIMAGE}
  4305. {ADD SCALE}
  4306. {ADD COMPOSE}
  4307. We make the following selections:
  4308. Loadimage:
  4309. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4310. {OUTPUT Temp1}
  4311. {REPEAT AT 60}
  4312. This command loads the file called 'pic.xxxx' with xxxx as the picture of
  4313. the animation which is generated. So if the processor generates the first
  4314. picture of the anim LOADIMAGE will load pic.0001. For pic 60 of the anim
  4315. pic.0060 will be loaded.
  4316. With repeat you choose which is the last picture. Afterwards LOADIMAGE will
  4317. restart the index with 1.
  4318. We use the buffer Temp1 for loading. With the 8 Buffers and the Strem we
  4319. can combine 9 animations in an very easy way!
  4320. Scale:
  4321. {INPUT Temp1}   ... input picture
  4322. {OUTPUT Temp1}  ... Output picture
  4323. {WIDTH breite}  ... width of the picture
  4324. {HEIGHT hoehe}  ... height of the picture
  4325. {TYPE pixels}   ... Values in Pixel
  4326. {ASPECT ignore} ... Aspect will be ignored
  4327. The temp-picture from the CHB anim will be scaled to the size we set in the
  4328. variables "breite" and "hoehe".
  4329. Compose:
  4330. {BACKGROUND Stream}  ... backgrund pictures from animation CHA
  4331. {FOREGROUND Temp1}   ... foregrund pictures from animation CHB
  4332. {DESTINATION Stream} ... output to the Stream
  4333. {ALPHA none}         ... Alpha chanal
  4334. {LEFT left}          ... left Position
  4335. {TOP top}            ... top oben
  4336. {MIX 100}            ... Mix = 100 ... you see only the anim in front!
  4337. The background of the animation CHB is black. We want the background of the
  4338. CHB anim to be masked out, so we see the anim CHA in the background.
  4339. {CENTREX off}        ... pics will NOT be centred
  4340. {CENTREY off}        ... pics will NOT be centred
  4341. {GENLOCK SingleColor}  ... you can see through one color
  4342. {ALL RGB-VALUES  0}    ... we choose the black color!
  4343. Ready, steady, convert!
  4344. Let`s move to @{" Part 6 " LINK Tut1-Teil6}.
  4345. @ENDNODE
  4346. @NODE Tut1-Teil6 "Part 6"
  4347. chab_scale.yafa
  4348. This animation part is almost like the chab_wipe.yafa anim! Only the size
  4349. and position of the chb pictures differ!
  4350. {wftut:halve_size/results/chab_scale.yafa}
  4351. Variable:      breite
  4352. Points:         2
  4353. Nr. 1:          0,   88  [176] ... halve size at the start
  4354. Nr. 2:         60,  176  [352] ... full size at the end!
  4355. Interpolation: linear
  4356. Variable:      hoehe
  4357. Points:         2
  4358. Nr. 1:          0,   72  [144] ... halve size at the start
  4359. Nr. 2:         60,  144  [288] ... full size at the end!
  4360. Interpolation: linear
  4361. Variable:      left
  4362. Points:         2
  4363. Nr. 1:          0,   44  [88] ... Start -> CHB centred
  4364. Nr. 2:         60,    0       ... End   -> CHB left
  4365. Interpolation: linear
  4366. Variable:      top
  4367. Points:         2
  4368. Nr. 1:          0,   36  [72] ... Start -> CHB centred
  4369. Nr. 2:         60,    0       ... End   -> CHB top
  4370. Interpolation: linear
  4371. Now add the following effects:
  4372. {ADD LOADIMAGE}
  4373. {ADD SCALE}
  4374. {ADD COMPOSE}
  4375. Make the following selections:
  4376. Loadimage:
  4377. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4378. {OUTPUT Temp1}
  4379. {REPEAT AT 60}
  4380. Scale:
  4381. {INPUT Temp1}   ... input picture
  4382. {OUTPUT Temp1}  ... Output picture
  4383. {WIDTH breite}  ... width
  4384. {HEIGHT hoehe}  ... height
  4385. {TYPE pixels}   ... Values in Pixel
  4386. {ASPECT ignore} ... Aspect will be ignored
  4387. Compose:
  4388. {BACKGROUND Stream}
  4389. {FOREGROUND Temp1}
  4390. {DESTINATION Stream}
  4391. {LEFT left}
  4392. {TOP top}
  4393. {MIX 100}
  4394. {CENTREX off}        ... pics will NOT be centred
  4395. {CENTREY off}        ... pics will NOT be centred
  4396. {GENLOCK SingleColor}
  4397. {ALL RGB-VALUES  0}
  4398. Start CONVERT!
  4399. Do you feel it?
  4400. Move on to @{" Part 7 " LINK Tut1-Teil7}.
  4401. @ENDNODE
  4402. @NODE Tut1-Teil7 "Part 7"
  4403. chab_fade.yafa
  4404. Both animations are now full size. In front is chb. We can look through the
  4405. background of chb and see cha. Cha will now be fadet out and a little bit
  4406. displaced.
  4407. {wftut:halve_size/results/chab_fade.yafa}
  4408. Variable:      probability
  4409. Points:         3
  4410. Nr. 1:          0,   0  ... probability for displacing a point
  4411. Nr. 2:         59,   0
  4412. Nr. 3:         60, 100
  4413. Interpolation: bezier
  4414. Variable:      brightness
  4415. Points:         3
  4416. Nr. 1:          0,   0  ... brigthness of CHA.
  4417. Nr. 2:         59, -10
  4418. Nr. 3:         60, -60
  4419. Interpolation: bezier
  4420. Variable:      radius
  4421. Points:         3
  4422. Nr. 1:          0,   0  ... radius within the points will be displaced
  4423. Nr. 2:         60,  20
  4424. Interpolation: linear
  4425. We add the following effects ...
  4426. {ADD LOADIMAGE}
  4427. {ADD DISPLACE}
  4428. {ADD BALANCING}
  4429. {ADD COMPOSE}
  4430. ... and make these selections:
  4431. Loadimage:
  4432. {SEQUENCE wftut:halve_size/frames/chB/pic}
  4433. {OUTPUT Temp1}
  4434. {REPEAT AT 60}
  4435. Displace:
  4436. {INPUT Stream}              ... input Pictures of Anim CHA
  4437. {OUTPUT Stream}             ... output Stream
  4438. {RADIUS Radius}             ... displace-radius
  4439. {PROBABILITY probability}   ... displace probability
  4440. {SEED probability}          ... start value for randomize
  4441. Balancing:
  4442. {INPUT Stream}        ... input picture
  4443. {OUTPUT Stream}       ... output picture
  4444. {alles auf 0}
  4445. {BRIGHT brightness}   ... brightness of anim CHA
  4446. Compose:
  4447. {BACKGROUND Stream}
  4448. {FOREGROUND Temp1}
  4449. {DESTINATION Stream}
  4450. {LEFT 0}
  4451. {TOP 0}
  4452. {MIX 100}
  4453. {CENTREX off}        ... pics will NOT be centred
  4454. {CENTREY off}        ... pics will NOT be centred
  4455. {GENLOCK SingleColor}
  4456. {ALL RGB-VALUES  0}
  4457. After this settings we start converting.
  4458. Let`s come to @{" Part 8 " LINK Tut1-Teil8}.
  4459. @ENDNODE
  4460. @NODE Tut1-Teil8 "Part 8"
  4461. chb.yafa
  4462. The animation will be generated without effects.
  4463. {PROCESSOR CLEAR}
  4464. The processor settings stay the same.
  4465. {MODE Color}
  4466. {DITHERING Floyd}
  4467. {DEPTH 5}
  4468. We have to use new INPUT-SINGLE PICTURES, as we don`t need the cha pictures
  4469. anymore!
  4470. {REMOVE RANGE}
  4471. There should be no more entries. Now ...
  4472. {ADDDIR wftut:halve_size/frames/chB}
  4473. Select ...
  4474. {wftut:halve_size/results/chb.yafa}
  4475. as output name and convert.
  4476. Now you reached the last part, @{" Part 9 " LINK Tut1-Teil9}.
  4477. @ENDNODE
  4478. @NODE Tut1-Teil9 "Part 9"
  4479. chb_fade.yafa
  4480. The animation CHB will be fadet out!
  4481. {wftut:halve_size/results/chb_fade.yafa}
  4482. Variable:      brightness
  4483. Points:         3
  4484. Nr. 1:          0,   0  ... brightness of animation CHB.
  4485. Nr. 2:         59, -10
  4486. Nr. 3:         60, -60
  4487. Interpolation: bezier
  4488. In the processor we ...
  4489. {ADD BALANCING}
  4490. ... and make the following selections
  4491. Balancing:
  4492. {INPUT Stream}        ... input picture
  4493. {OUTPUT Stream}       ... Output picture
  4494. {alles auf 0}
  4495. {BRIGHT brightness}  ... Helligkeit der Anim CHA
  4496. Now CONVERT.
  4497. Congratulations! You just generated all the needed animations! Now lets add
  4498. a small @{" Script " LINK Tut1-Script} to play the animations.
  4499. @ENDNODE
  4500. @NODE Tut1-Script "Script"
  4501. We start the editor:
  4502. {EDITOR}
  4503. We add all the generated animations to the list.
  4504. {ADD cha_wipe.yafa}
  4505. {ADD cha.yafa}
  4506. {ADD cha_rotate.yafa}
  4507. {ADD cha_twirl.yafa}
  4508. {ADD chab_wipe.yafa}
  4509. {ADD chab_scale.yafa}
  4510. {ADD chab_fade.yafa}
  4511. {ADD chb.yafa}
  4512. {ADD chb_fade.yafa}
  4513. Using INFO we make some settings for every animation:
  4514. {DISPLAY Zoomed} 2x2 zooming of the anims, or not.
  4515. {BUFFERS 4}      only 4 buffers, so we dont use too much memory
  4516. Choose these settings for all animations.
  4517. Now use
  4518. {PLAY ALL}
  4519. for playing the animations. Press {AMIGA M} and look at the memory. You
  4520. should have some empty fast-memory, otherwise you should change your
  4521. settings and use only 3 buffers for every animation!
  4522. The zooming, decrunching etc. works faster in the FAST memory!
  4523. Lets save the project!
  4524. {PROJECT wftut:halve_size/Wildfire.prj}
  4525. {SAVE}
  4526. With the external @{" YAFA " link yp.guide/MAIN} Player we can now play this
  4527. animations every time we want. Wildfire is
  4528. not necessary for playing the animations! YP (the player) can be downloaded
  4529. from the internet by everyone!
  4530. {YP -batch wftut:halve_size/Wildfire.prj}
  4531. Now you saw how to wor with some important functions of Wildfire.
  4532. For learning more about this great program read the documenation and test
  4533. the great possibilities of it!
  4534. Thank you for using this tutorial!
  4535. @ENDNODE
  4536. @remark /*************************************************************/
  4537. @remark /*
  4538. @remark                            Demos
  4539. @remark */
  4540. @remark /*************************************************************/
  4541. @node Demos
  4542.                           W K  -  A r t w o r k s
  4543.                             in cooperation with
  4544.                                  since april 92
  4545.                 .    ___ _   - the immortal force -  .
  4546.                 :   /\         _ _            _      :_ __         ___ _
  4547.             ___/|  /_ \_______/\_____________/\_____/|____________/\
  4548.            /\   | /  \ \   __/  \       / ____/   .__|__   _       /
  4549.           /  \  |/    \ \_ \/    \_____/.__/ \    |    |  /   :   /
  4550.          /    \_/      \    \   .___/   | /   \        |\/    |__/_ ___
  4551.         /       \      /    /   | | \    /     \       |/     : \
  4552.      .oO\  _____|\____/\_  /\_____|Oo\  _______/_______|\  _____/___ _
  4553.          \/__ _ :        \/_      :-Z!\/_ _    :       : \/__ _
  4554.                    
  4555. -----------------------------------------------------------------------------
  4556.         INFECT A PART OF LIFE ELEMENTS - A RELIGION CAN'T DIE !
  4557. @{b}           The following releases were made using Wildfire:
  4558. @{ub}
  4559.       @{" Dataworld 1 " link dw1}
  4560.       @{" Wild Summer " link ws1}
  4561.       @{" Dataworld 2 " link dw2}
  4562. @endnode
  4563. @node dw1
  4564.   Dataworld was released at The Party 1995 in Fredericia/Denmark.
  4565.   It finished second in the Wild Competition - a competition where
  4566.   no Hardware restrictions were given.
  4567.   With only 70 MB of (hard/cd)diskspace you will get
  4568.   a 10 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  4569.   A1200 with 4 MB of Fast Ram to run.
  4570.   Dataworld consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  4571.   linked smoothly together using the great @{" Wildfire " link WildFire.guide/MAIN}.
  4572.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  4573.   played without interruption, even on a standard 4x CD rom!
  4574.   Dataworld can be found on:
  4575.   Aminet CD 11  (everything archived)
  4576.   MagnaMedia Amiga Magazin CD 5/6 96 (run from cd)
  4577.   CU amiga coverdisk 04/96 (run from cd)
  4578.   Scene Storm CD 1 (run from cd, use the fix IFT-SFIX.lha)
  4579.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  4580.   You can get it from the Aminet or from different coverdisks.
  4581.   Dataworld is copyrighted to:
  4582.   WK-Artworks                  (animations, Wildfire concept)
  4583.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4584.   DJ Mellow-Noise/Infect       (music)
  4585.   Eksec/Infect                 (executive producing)
  4586. @endnode
  4587. @node ws1
  4588.   WiLD SuMMeR was released at `The Summer Party 96` in Denmark.
  4589.   It finished second in the Wild Competition - a competition without any
  4590.   Hardware-restrictions.
  4591.   With only 30 MB Place on CD/HD you`ll get a 4 Minutes full-screen Video
  4592.   which runs on an - todays - standard A1200 (at least 4 MB Fast).
  4593.   WilD SuMMeR consists of over 20 @{" YAFA " link yp.guide/MAIN} Animations, which
  4594.   were created using the great Wildfire.
  4595.   Using the latest @{" YAFA " link yp.guide/MAIN} player you can watch the show
  4596.   even from a ZIP-Drive or a 4X Speed CD-Rom without any gaps between the
  4597.   animations.
  4598.   WiLD SuMMeR is available on:
  4599.   Aminet CD 13                        (all animations archived)
  4600.   CU Amiga Cover CD                   (run from cd)
  4601.   MagnaMedia Amiga Magazin CD 3/4 97  (run from cd)
  4602.   WiLD SuMMeR copyrighted to:
  4603.   WK-Artworks                  (Animations, Wildfire concept)
  4604.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4605.   DJ Mellow-Noise/Infect       (Music)
  4606.   Eksec/Infect                 (Executive Producing)
  4607. @endnode
  4608. @node dw2
  4609.   Dataworld 2 was released at The Party 1996 in Aars/Denmark.
  4610.   With 150 MB of (hard/cd)diskspace you will get a
  4611.   12 MINUTE-FULL-SCREEN-VIDEO-SHOW that just needs an standard
  4612.   A1200 with 4 MB of Fast Ram to run.
  4613.   Dataworld 2 consists of over 30 @{" YAFA " link yp.guide/MAIN} animations, all
  4614.   linked smoothly together using the great @{" Wildfire " link WildFire.guide/MAIN}.
  4615.   With the @{" YAFA " link yp.guide/MAIN} player all the animations are
  4616.   played without interruption, even on a standard 6x CD rom!
  4617.   Dataworld 2 can be found on:
  4618.   MagnaMedia Amiga Magazin CD 3/4 97 (run from cd)
  4619.   Remember to use the latest @{" YAFA " link yp.guide/MAIN} player on your amiga!
  4620.   You can get it from the Aminet or from different coverdisks.
  4621.   Dataworld 2 is copyrighted to:
  4622.   WK-Artworks                  (animations, Wildfire concept)
  4623.   Smack/Infect                 (@{" YAFA " link yp.guide/MAIN} concept)
  4624.   DJ Mellow-Noise/Infect       (music)
  4625.   Eksec/Infect                 (executive producing)
  4626. @endnode
  4627. @remark /*************************************************************/
  4628. @remark /*
  4629. @remark                            Technical stuff
  4630. @remark */
  4631. @remark /*************************************************************/
  4632. @node Technical
  4633. @{b}Technical stuff: @{ub}
  4634. Wildfire is a very complex program written in pure ANSI-C.
  4635. Because most of the Amiga-compilers are not capable to produce
  4636. fast and small code from the source code consisting of
  4637. about 160 modules (including all  PlugIns) we decided to
  4638. use GCC.
  4639. One of these other "compilers" was even not able to *translate*
  4640. some portions of the ANSI-C-code - which is really poor.
  4641. GCC on the other side compiles all 160 modules producing
  4642. only 6 warnings.
  4643. The GUI was completely designed using GadToolsBox, Wildfire 2.96
  4644. has 123 windows which contain 1644 gadgets (including all PlugIns).
  4645. This complexity makes it impossible to use one of these
  4646. "intelligent GUI-designers" because of the large overhead they
  4647. produce.
  4648. The main program was always designed for speed and not to
  4649. conserve memory (You can buy computers, memory, ...- but no time).
  4650. All 3d-operators are optimized to use a fpu. That means they
  4651. operate fast on systems with fpu but may be worthless on other
  4652. systems. Because most floating-point-operations on the 060-processor
  4653. are faster than integer-manipulations I decided to use this
  4654. way. Unlike to the 2d-operators which make use of cryptic 
  4655. integer-manipulations like
  4656.  luxa[j]=(WORD)((((dx2*ca+dy2*sa+VPREC2)>>SPREC)+cx+VPREC2)>>SPREC);
  4657.  (this performs a rotation and is no joke)
  4658. the code remains very readable and is easy to extend.
  4659. As you can see we have put a lot work into this project,
  4660.           @{b}PLEASE DON'T USE OR SPREAD PIRATE COPIES !@{ub}
  4661. @endnode
  4662.